홈 › CI/CD › 04 / 7

빌드 산출물과 버전

섹션 7진행 0 / 7

빌드 산출물과 버전 — jar·매니페스트·체크섬·재현 가능한 빌드

빌드가 끝나면 서버로 옮길 수 있는 산출물(artifact)이 남습니다. 실행 가능한 jar 를 만들고 버전을 표시하고 체크섬으로 무결성을 확인하고, 같은 소스면 언제 빌드해도 같은 결과가 나오게 만드는 방법을 다룹니다.

1. 왜 배우는가

지난 레슨까지는 테스트가 통과하는지, 정적 검사를 지나는지를 봤습니다. 이번에는 그 뒤에 남는 결과물, 즉 서버에 올릴 파일 자체를 다룹니다.

산출물에 버전이 없으면 어떤 코드가 배포됐는지 알 수 없고, 체크섬이 없으면 전송 중 손상된 파일을 그대로 실행하게 됩니다. 빌드할 때마다 내용이 달라지면 "어제는 됐는데 오늘은 안 된다" 는 문제의 원인을 찾기도 어렵습니다.

이 레슨은 javac·jar 로 직접 실행 가능한 산출물을 만들고, 버전과 체크섬을 붙이고, 고정 타임스탬프로 재현 가능한 빌드(reproducible build)를 확인합니다. 다음 레슨에서 이 산출물을 서버에 배포합니다.