fix(deploy): align deployment image/pullPolicy with cloud registry and improve rollout diagnostics
All checks were successful
Deploy Noval to K3s / deploy (push) Successful in 2m35s
All checks were successful
Deploy Noval to K3s / deploy (push) Successful in 2m35s
This commit is contained in:
@@ -72,17 +72,21 @@ jobs:
|
||||
kubectl apply -f k8s/service.yaml
|
||||
kubectl apply -f k8s/ingress.yaml
|
||||
|
||||
if kubectl get deployment "${APP_NAME}" -n "${NAMESPACE}" >/dev/null 2>&1; then
|
||||
echo "🔄 检测到现有 deployment,执行滚动更新..."
|
||||
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
||||
else
|
||||
echo "🆕 首次部署,创建 deployment..."
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
||||
fi
|
||||
echo "🧱 应用/更新 deployment..."
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
||||
|
||||
# 使用 latest 标签时,强制触发一次重启以拉取新镜像
|
||||
kubectl rollout restart deployment/${APP_NAME} -n "${NAMESPACE}"
|
||||
|
||||
echo "⏳ 等待 rollout 完成..."
|
||||
kubectl rollout status deployment/${APP_NAME} -n "${NAMESPACE}" --timeout=300s
|
||||
if ! kubectl rollout status deployment/${APP_NAME} -n "${NAMESPACE}" --timeout=300s; then
|
||||
echo "❌ rollout 超时,输出诊断信息"
|
||||
kubectl get pods -n "${NAMESPACE}" -l app=${APP_NAME} -o wide || true
|
||||
kubectl describe deployment/${APP_NAME} -n "${NAMESPACE}" || true
|
||||
kubectl logs -n "${NAMESPACE}" deploy/${APP_NAME} --all-containers=true --tail=200 || true
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ 部署完成"
|
||||
echo "📌 版本: ${NEW_COMMIT_SHA} - ${NEW_COMMIT_MSG}"
|
||||
|
||||
Reference in New Issue
Block a user