빌드 산출물과 버전
섹션 7진행 0 / 7
7. 정리
- 실행 가능 jar 는
META-INF/MANIFEST.MF 의 Main-Class 로 java -jar 실행을 가능하게 합니다.
- 버전은 VERSION 파일이나
git describe 로 한 곳에서 관리하고, 매니페스트와 파일 이름 양쪽에 반영합니다.
jar --create 의 --date 옵션으로 타임스탬프를 고정하면 같은 소스에서 항상 같은 해시가 나오는 재현 가능한 빌드가 됩니다.
sha256sum 으로 체크섬을 만들어 산출물과 함께 배포하고, -c 옵션으로 받는 쪽에서 손상 여부를 검증합니다.
- 산출물 이름은
app-1.2.0.jar 처럼 버전을 포함해 이전 파일을 덮어쓰지 않게 짓습니다.
- 폐쇄망에서는 사내 Nexus 같은 아티팩트 저장소에 산출물을 올려 서버마다 수동 복사를 하지 않습니다.
- 다음 레슨은 서버에 배포하고 되돌리는 자동화입니다.