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}"
|
||||
|
||||
@@ -22,8 +22,8 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: noval
|
||||
image: noval-app:latest
|
||||
imagePullPolicy: Never
|
||||
image: crpi-om2xd9y8cmaizszf.cn-beijing.personal.cr.aliyuncs.com/test-namespace-gu/writing-reddot:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
name: http
|
||||
|
||||
Reference in New Issue
Block a user