Files
trex-core/docs/ops/release-image-build.md
T

1.1 KiB

Release image build

운영팀은 release tag의 clean checkout에서 아래 명령으로 이미지를 빌드한다.

git checkout v0.8.0
./scripts/build_release_image.sh trex-core:0.8.0

스크립트는 pyproject.toml의 canonical version과 image tag가 일치하는지 확인하고 현재 commit을 OCI org.opencontainers.image.revision label로, package version을 org.opencontainers.image.version label로 기록한다. Dirty checkout, version이 다른 image tag, label 불일치, non-root user 불일치 또는 container --version smoke test 실패 시 종료 코드 0을 반환하지 않는다.

Registry 경로를 사용할 때도 version tag를 유지한다.

./scripts/build_release_image.sh registry.example/trex-core:0.8.0
docker push registry.example/trex-core:0.8.0

배포 전 docker image inspect에서 나온 revision과 image digest를 release-provenance-standard.md의 PRE/POST gate에 기록한다. 이 저장소는 registry publication을 자동화하지 않으므로 push 대상과 권한은 운영팀이 관리한다.