fix(cd): 修復 Build 跳過時的 ImagePullBackOff 問題
問題: 當 Build Web/API 被跳過時,Deploy 仍更新 image tag 到不存在的版本 解決: 根據 build job 結果條件性更新 image Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
22
.github/workflows/cd.yaml
vendored
22
.github/workflows/cd.yaml
vendored
@@ -222,9 +222,25 @@ jobs:
|
||||
- name: Deploy
|
||||
run: |
|
||||
cd k8s/awoooi-prod
|
||||
kustomize edit set image \
|
||||
"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 }}"
|
||||
TAG="${{ steps.tag.outputs.tag }}"
|
||||
|
||||
# 只更新實際建構的 image (避免 ImagePullBackOff)
|
||||
if [ "${{ needs.build-api.result }}" = "success" ]; then
|
||||
echo "📦 更新 API image: ${{ env.IMAGE_PREFIX }}-api:${TAG}"
|
||||
kustomize edit set image \
|
||||
"192.168.0.110:5000/library/api:IMAGE_TAG_PLACEHOLDER=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-api:${TAG}"
|
||||
else
|
||||
echo "⏭️ 跳過 API image 更新 (build skipped)"
|
||||
fi
|
||||
|
||||
if [ "${{ needs.build-web.result }}" = "success" ]; then
|
||||
echo "📦 更新 Web image: ${{ env.IMAGE_PREFIX }}-web:${TAG}"
|
||||
kustomize edit set image \
|
||||
"192.168.0.110:5000/library/web:IMAGE_TAG_PLACEHOLDER=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-web:${TAG}"
|
||||
else
|
||||
echo "⏭️ 跳過 Web image 更新 (build skipped)"
|
||||
fi
|
||||
|
||||
kubectl apply -k .
|
||||
|
||||
- name: Wait for rollout
|
||||
|
||||
Reference in New Issue
Block a user