更新 .gitea/workflows/test.yml

This commit is contained in:
2026-06-16 11:00:31 +08:00
parent c640504c0f
commit f1d06e8b93
+14 -20
View File
@@ -29,26 +29,20 @@ jobs:
docker push ${IMAGE_NAME}:latest docker push ${IMAGE_NAME}:latest
docker push ${IMAGE_NAME}:${SHA_TAG} docker push ${IMAGE_NAME}:${SHA_TAG}
# 核心解决步骤:通过 SSH 穿透容器,在宿主机本地执行 kubectl - name: SSH连接宿主机执行K3s灰度发布
- name: 穿透容器:在宿主机本地触发 K3s 灰度发布 env:
uses: http://192.168.10.236:3000/clkj/ssh-action@master SSH_HOST: 192.168.10.236
with: SSH_USER: root
host: 192.168.10.236 SSH_PWD: CLKJ@aidj236
username: root SHA_TAG: ${{ steps.vars.outputs.sha_short }}
password: CLKJ@aidj236 run: |
port: 22 apt update && apt install -y openssh-client sshpass
script: | sshpass -p "${SSH_PWD}" ssh -o StrictHostKeyChecking=no -p 22 ${SSH_USER}@${SSH_HOST} << EOF
# 此时以下命令全部在宿主机物理机上直接运行,绝不会报 command not found echo "1. 应用灰度配置文件"
SHA_TAG="${{ steps.vars.outputs.sha_short }}"
echo "1. 正在应用物理机 /home/ 目录下的基础设施配置..."
kubectl apply -f /home/ai/k3s/nextjs-traefik-gray.yaml kubectl apply -f /home/ai/k3s/nextjs-traefik-gray.yaml
echo "2. 更新镜像版本: ${SHA_TAG}"
echo "2. 正在更新 K3s 灰度版本镜像至: ${SHA_TAG}"
kubectl set image deployment/nextjs-app-canary nextjs=192.168.10.236:31051/nextjs-app:${SHA_TAG} kubectl set image deployment/nextjs-app-canary nextjs=192.168.10.236:31051/nextjs-app:${SHA_TAG}
echo "3. 等待滚动更新完成"
echo "3. 等待灰度 Pod 滚动更新完成..."
kubectl rollout status deployment/nextjs-app-canary --timeout=60s kubectl rollout status deployment/nextjs-app-canary --timeout=60s
echo "【发布成功】灰度版本 ${SHA_TAG} 已上线"
echo "【发布成功】新标签 [${SHA_TAG}] 已就绪,已切入 Traefik Header [version: canary] 路由!" EOF