Trigger build
Some checks failed
Build and Deploy Backend / build-and-deploy (push) Failing after 5m14s

This commit is contained in:
2025-12-09 11:57:58 +08:00
parent 9e1b1fd807
commit 302bbb8ba5

View File

@@ -1,4 +1,4 @@
name: Build and Deploy Backend (Kaniko) name: Build and Deploy Backend
on: on:
push: push:
@@ -28,7 +28,7 @@ jobs:
chmod +x kubectl chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl sudo mv kubectl /usr/local/bin/kubectl
- name: Build with Kaniko - name: Create Kaniko Build Job
run: | run: |
/usr/local/bin/kubectl apply -f - <<EOJOB /usr/local/bin/kubectl apply -f - <<EOJOB
apiVersion: batch/v1 apiVersion: batch/v1
@@ -54,11 +54,34 @@ jobs:
restartPolicy: Never restartPolicy: Never
EOJOB EOJOB
/usr/local/bin/kubectl wait --for=condition=complete --timeout=120s \ echo "✅ Build job created, waiting for image..."
job/kaniko-build-${GITHUB_SHA:0:8} -n cloudforge
# 等待 build 完成(改為 300秒 = 5分鐘充足時間
/usr/local/bin/kubectl wait --for=condition=complete --timeout=300s \
job/kaniko-build-${GITHUB_SHA:0:8} -n cloudforge || {
echo "⚠️ Build job timeout, checking status..."
/usr/local/bin/kubectl get job kaniko-build-${GITHUB_SHA:0:8} -n cloudforge
/usr/local/bin/kubectl logs job/kaniko-build-${GITHUB_SHA:0:8} -n cloudforge --tail=50
exit 1
}
- name: Verify Build Job Success
run: |
# 確保 job 成功完成
BUILD_STATUS=$(/usr/local/bin/kubectl get job kaniko-build-${GITHUB_SHA:0:8} -n cloudforge -o jsonpath='{.status.succeeded}')
if [ "$BUILD_STATUS" == "1" ]; then
echo "✅ Build completed successfully"
else
echo "❌ Build failed"
/usr/local/bin/kubectl logs job/kaniko-build-${GITHUB_SHA:0:8} -n cloudforge
exit 1
fi
- name: Deploy - name: Deploy
run: | run: |
echo "🚀 Deploying..."
/usr/local/bin/kubectl set image deployment/dashboard-backend \ /usr/local/bin/kubectl set image deployment/dashboard-backend \
backend=registry.kube-system.svc.cluster.local:5000/cloudforge-dashboard-backend:${GITHUB_SHA:0:8} \ backend=registry.kube-system.svc.cluster.local:5000/cloudforge-dashboard-backend:${GITHUB_SHA:0:8} \
-n cloudforge || \ -n cloudforge || \
@@ -75,5 +98,11 @@ jobs:
- name: Verify - name: Verify
run: | run: |
echo "✅ Deployment completed"
/usr/local/bin/kubectl get pods -n cloudforge /usr/local/bin/kubectl get pods -n cloudforge
/usr/local/bin/kubectl logs deployment/dashboard-backend -n cloudforge --tail=20 /usr/local/bin/kubectl logs deployment/dashboard-backend -n cloudforge --tail=20
- name: Cleanup build job
if: always()
run: |
/usr/local/bin/kubectl delete job kaniko-build-${GITHUB_SHA:0:8} -n cloudforge || true