fix: deploy 57-x with kubectl set image like project57 [deploy]
CI Pipeline / check-commit (push) Successful in 6s
CI Pipeline / deploy-only (push) Has been skipped
CI Pipeline / build (push) Successful in 22s
CI Pipeline / deploy (push) Failing after 3m2s

This commit is contained in:
mdszxy committed 2026-10-05 19:46:38 +08:00
1 parent 54d37eff03
commit c0f6aeb336
1 file changed
+6 -36
+6 -36
View File
@@ -190,35 +190,14 @@ jobs:
kubectl cluster-info || { echo "ERROR: Failed to connect to K8s cluster"; exit 1; }
export REPO_NAME="${{ github.event.repository.name }}"
export IMAGE_REF="${{ needs.build.outputs.image_ref }}"
export IMAGE_LATEST="104.225.236.253:30500/${REPO_NAME}:latest"
export NAMESPACE="ns-${REPO_NAME}"
export DEPLOYMENT="${REPO_NAME}-deploy"
export CONTAINER="app"
echo "Deploying ${IMAGE_REF} to ${NAMESPACE}/${DEPLOYMENT}"
CONTAINER="$(kubectl get "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" -o jsonpath='{.spec.template.spec.containers[0].name}')"
echo "Container: ${CONTAINER}"
kubectl set image "deployment/${DEPLOYMENT}" "${CONTAINER}=${IMAGE_REF}" -n "${NAMESPACE}"
kubectl patch "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" --type strategic -p "
spec:
template:
spec:
containers:
- name: ${CONTAINER}
imagePullPolicy: IfNotPresent
env:
- name: A_UPSTREAM
value: http://project57-deploy.ns-project57.svc.cluster.local:3000
readinessProbe:
httpGet:
path: /api/health
port: 3000
timeoutSeconds: 5
livenessProbe:
httpGet:
path: /api/health
port: 3000
timeoutSeconds: 5
"
echo "Deploying ${IMAGE_LATEST} to ${NAMESPACE}/${DEPLOYMENT}"
kubectl set image "deployment/${DEPLOYMENT}" "${CONTAINER}=${IMAGE_LATEST}" -n "${NAMESPACE}"
kubectl rollout restart "deployment/${DEPLOYMENT}" -n "${NAMESPACE}"
kubectl rollout status "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" --timeout=180s
echo "✅ Deployment completed successfully"
@@ -246,19 +225,10 @@ spec:
export IMAGE_LATEST="${REGISTRY}/${REPO_NAME}:latest"
export NAMESPACE="ns-${REPO_NAME}"
export DEPLOYMENT="${REPO_NAME}-deploy"
export CONTAINER="app"
echo "Deploying existing image ${IMAGE_LATEST} to ${NAMESPACE}/${DEPLOYMENT}"
CONTAINER="$(kubectl get "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" -o jsonpath='{.spec.template.spec.containers[0].name}')"
echo "Container: ${CONTAINER}"
kubectl set image "deployment/${DEPLOYMENT}" "${CONTAINER}=${IMAGE_LATEST}" -n "${NAMESPACE}"
kubectl patch "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" --type strategic -p "
spec:
template:
spec:
containers:
- name: ${CONTAINER}
imagePullPolicy: Always
"
kubectl rollout restart "deployment/${DEPLOYMENT}" -n "${NAMESPACE}"
kubectl rollout status "deployment/${DEPLOYMENT}" -n "${NAMESPACE}" --timeout=180s
echo "✅ Deployment completed (using existing image)"