chore(release): prepare v0.7.0
This commit is contained in:
@@ -40,6 +40,13 @@ pkill -TERM -f trex-core-daemon
|
||||
- `config/.env`는 **라이브 KIS 키 + portfolio_hub 토큰 + 라이브 PostgreSQL DSN**을 담는다 — 커밋 금지, 라이브 DB에 파괴적 작업 금지.
|
||||
- 테스트는 `TREX_BROKER=paper` + 파생 `trex_core_test` DSN.
|
||||
|
||||
### Release image build
|
||||
|
||||
Release tag의 clean checkout에서 `./scripts/build_release_image.sh trex-core:<version>`을
|
||||
실행한다. 이 경로는 project version과 image tag를 대조하고 OCI version/revision labels,
|
||||
non-root user 및 container `--version`을 검증한다. 전체 명령과 registry 사용법은
|
||||
[`docs/ops/release-image-build.md`](ops/release-image-build.md)를 따른다.
|
||||
|
||||
### 배포/복구/수동 재기동 provenance gate (issue #87)
|
||||
|
||||
배포, 복구, 수동 stop/start/recreate 전에 아래 gate를 실행해 **검증 가능한 release record**를 남긴다.
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# Release image build
|
||||
|
||||
운영팀은 release tag의 clean checkout에서 아래 명령으로 이미지를 빌드한다.
|
||||
|
||||
```bash
|
||||
git checkout v0.7.0
|
||||
./scripts/build_release_image.sh trex-core:0.7.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를 유지한다.
|
||||
|
||||
```bash
|
||||
./scripts/build_release_image.sh registry.example/trex-core:0.7.0
|
||||
docker push registry.example/trex-core:0.7.0
|
||||
```
|
||||
|
||||
배포 전 `docker image inspect`에서 나온 revision과 image digest를
|
||||
[`release-provenance-standard.md`](release-provenance-standard.md)의 PRE/POST gate에 기록한다.
|
||||
이 저장소는 registry publication을 자동화하지 않으므로 push 대상과 권한은 운영팀이 관리한다.
|
||||
Reference in New Issue
Block a user