피드로 돌아가기
Dev.toDevOps
원문 읽기
Multi-Format 압축 및 Checksum 기반 Auto-Hash 네이밍 통합 오케스트레이터
vite-plugin-pack-orchestrator,One Vite Plugin for Compression, Checksums, and Auto Hash-Renaming
AI 요약
Context
기존 Vite 패킹 플러그인의 단일 포맷(ZIP) 지원 및 제한적 기능으로 인한 배포 파이프라인 구축의 한계 발생. 빌드 아티팩트의 무결성 검증을 위한 Checksum 생성과 CI/CD 추적성을 위한 동적 파일 네이밍 프로세스를 별도 스크립트로 관리해야 하는 운영 효율 저하 문제 직면.
Technical Solution
- ZIP, TAR, TAR.GZ, 7Z 등 다양한 Archive 포맷 지원을 통한 타겟 환경별 최적화된 배포 파일 생성 구조 설계
- MD5, SHA1, SHA256 알고리즘 기반 Checksum 자동 계산 로직을 통한 빌드 결과물의 무결성 검증 체계 구축
- [version], [timestamp], [hash] 등의 Placeholder 시스템을 도입하여 빌드 시점에 파일명을 동적으로 결정하는 네이밍 엔진 구현
- onBeforeBuild, onBundleGenerated, onAfterBuild로 이어지는 Lifecycle Hook 시스템을 설계하여 빌드 전후의 커스텀 프로세스 주입 가능 구조 채택
- onAfterBuild Hook에서 계산된 Checksum 값을 파일명에 즉시 반영하는 피드백 루프를 통해 별도 쉘 스크립트 없는 Auto-Hash Renaming 구현
- Glob 패턴 기반의 include/exclude 필터링 로직을 적용하여 불필요한 소스맵(.map) 등을 제외한 최적의 패키징 용량 확보
실천 포인트
- 빌드 아티팩트 파일명에 Content Hash를 포함하여 버전 매핑 테이블 없는 무상태(Stateless) 롤백 체계 구축 검토 - 배포 대상 OS(Linux/Windows)에 따라 TAR.GZ와 ZIP 포맷을 분리하여 패키징하는 파이프라인 구성 - CI/CD 파이프라인 내에서 파일 무결성 검증을 위해 SHA256 Checksum을 생성하고 이를 배포 로그와 연동하는 프로세스 적용