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 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-24 14:05:31 +08:00
parent 181d62a29e
commit 580c38de94
2 changed files with 9 additions and 6 deletions

View File

@@ -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

View File

@@ -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 注入