Trigger build
Some checks failed
Build and Deploy Backend / build-and-deploy (push) Failing after 5m14s
Some checks failed
Build and Deploy Backend / build-and-deploy (push) Failing after 5m14s
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user