交付自動化 基礎
如何管理 CI/CD 中的 Artifact?版本策略和不可變製品的重要性是什麼?
Artifact 管理
Artifact 是建置過程的輸出物,如 Docker image、JAR 檔案、NPM 套件。
不可變製品 (Immutable Artifacts)
核心原則:相同版本的 artifact 在所有環境中內容完全一致,永不修改。
好處:
- 在 dev 環境測試通過的 image,部署至 prod 時保證是同一份
- 問題排查時可準確重現生產環境
- 審計追蹤清晰
違反此原則的反模式:使用 :latest 標籤,或在不同環境重新 build。
Docker Image 版本策略
語義化版本:v1.2.3(適合對外發布的公開 API)
Git Commit SHA:myapp:abc1234(推薦,最精確,完全可追蹤)
建置號碼:myapp:build-456(配合 CI 系統使用)
多標籤策略(推薦):
同一個 image 同時打上多個標籤:
- myapp:abc1234(不可變,指向特定 commit)
- myapp:v1.2.3(語義化版本)
- myapp:latest(指向最新 stable,便於開發)
Container Registry
| 平台 | Registry |
|---|---|
| AWS | ECR (Elastic Container Registry) |
| GCP | Artifact Registry |
| Azure | ACR (Azure Container Registry) |
| 通用 | Docker Hub、GitHub Container Registry |
清理策略
設置 Image 保留政策,自動刪除超過 N 天或超過 N 個版本的舊 image,控制儲存成本。
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
