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/service.yaml
|
||||||
kubectl apply -f k8s/ingress.yaml
|
kubectl apply -f k8s/ingress.yaml
|
||||||
|
|
||||||
if kubectl get deployment "${APP_NAME}" -n "${NAMESPACE}" >/dev/null 2>&1; then
|
echo "🧱 应用/更新 deployment..."
|
||||||
echo "🔄 检测到现有 deployment,执行滚动更新..."
|
|
||||||
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
|
||||||
else
|
|
||||||
echo "🆕 首次部署,创建 deployment..."
|
|
||||||
kubectl apply -f k8s/deployment.yaml
|
kubectl apply -f k8s/deployment.yaml
|
||||||
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
kubectl set image deployment/${APP_NAME} ${APP_NAME}=${FULL_IMAGE} -n "${NAMESPACE}"
|
||||||
fi
|
|
||||||
|
# 使用 latest 标签时,强制触发一次重启以拉取新镜像
|
||||||
|
kubectl rollout restart deployment/${APP_NAME} -n "${NAMESPACE}"
|
||||||
|
|
||||||
echo "⏳ 等待 rollout 完成..."
|
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 "✅ 部署完成"
|
||||||
echo "📌 版本: ${NEW_COMMIT_SHA} - ${NEW_COMMIT_MSG}"
|
echo "📌 版本: ${NEW_COMMIT_SHA} - ${NEW_COMMIT_MSG}"
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: noval
|
- name: noval
|
||||||
image: noval-app:latest
|
image: crpi-om2xd9y8cmaizszf.cn-beijing.personal.cr.aliyuncs.com/test-namespace-gu/writing-reddot:latest
|
||||||
imagePullPolicy: Never
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
name: http
|
name: http
|
||||||
|
|||||||
Reference in New Issue
Block a user