交付自動化 基礎

如何管理 CI/CD 中的 Artifact?版本策略和不可變製品的重要性是什麼?

AI 練習作答

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 評分