From 580c38de94c351a355fa1998de0a4e701d762b18 Mon Sep 17 00:00:00 2001 From: OG T Date: Tue, 24 Mar 2026 14:05:31 +0800 Subject: [PATCH] fix(cd): Fix kustomize image replacement with full image names The kustomize edit set image command requires the OLD_IMAGE to match exactly what's in the deployment YAML files, including the tag. Changes: - Use full image name with :IMAGE_TAG_PLACEHOLDER suffix - Update kustomization.yaml to match deployment YAML format Co-Authored-By: Claude Opus 4.5 --- .github/workflows/cd.yaml | 6 ++++-- k8s/awoooi-prod/kustomization.yaml | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 644cdc46..3d717126 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -118,9 +118,11 @@ jobs: run: | export PATH="$HOME/.local/bin:$PATH" cd k8s/awoooi-prod + # 使用 kustomize edit set image: OLD_IMAGE=NEW_IMAGE + # OLD_IMAGE 必須與 deployment YAML 中的 image 欄位完全匹配 kustomize edit set image \ - awoooi-web=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-web:${{ steps.tag.outputs.tag }} \ - awoooi-api=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-api:${{ steps.tag.outputs.tag }} + "192.168.0.110:5000/library/web:IMAGE_TAG_PLACEHOLDER=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-web:${{ steps.tag.outputs.tag }}" \ + "192.168.0.110:5000/library/api:IMAGE_TAG_PLACEHOLDER=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-api:${{ steps.tag.outputs.tag }}" kubectl apply -k . - name: Wait for rollout diff --git a/k8s/awoooi-prod/kustomization.yaml b/k8s/awoooi-prod/kustomization.yaml index 9ba97548..2c417457 100644 --- a/k8s/awoooi-prod/kustomization.yaml +++ b/k8s/awoooi-prod/kustomization.yaml @@ -27,8 +27,9 @@ resources: # 映像配置 (Tag 由 CI 動態注入) # Harbor 金庫: 110 主機 (192.168.0.110:5000) +# ⚠️ 重要: name 必須與 deployment YAML 中的 image 完全匹配 (含 tag) images: - - name: 192.168.0.110:5000/library/web - # newTag: 由 CI 注入,禁止在此寫死 - - name: 192.168.0.110:5000/library/api - # newTag: 由 CI 注入,禁止在此寫死 + - name: 192.168.0.110:5000/library/web:IMAGE_TAG_PLACEHOLDER + # newName + newTag 由 CI 透過 kustomize edit set image 注入 + - name: 192.168.0.110:5000/library/api:IMAGE_TAG_PLACEHOLDER + # newName + newTag 由 CI 透過 kustomize edit set image 注入