From f1d06e8b9385c01d15ac1ccf4ce17a058717f0ed Mon Sep 17 00:00:00 2001 From: clkj <919284064@qq.com> Date: Tue, 16 Jun 2026 11:00:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/test.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/test.yml | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c3b34da..0442382 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -29,26 +29,20 @@ jobs: docker push ${IMAGE_NAME}:latest docker push ${IMAGE_NAME}:${SHA_TAG} - # 核心解决步骤:通过 SSH 穿透容器,在宿主机本地执行 kubectl - - name: 穿透容器:在宿主机本地触发 K3s 灰度发布 - uses: http://192.168.10.236:3000/clkj/ssh-action@master - with: - host: 192.168.10.236 - username: root - password: CLKJ@aidj236 - port: 22 - script: | - # 此时以下命令全部在宿主机物理机上直接运行,绝不会报 command not found - SHA_TAG="${{ steps.vars.outputs.sha_short }}" - - echo "1. 正在应用物理机 /home/ 目录下的基础设施配置..." + - name: SSH连接宿主机执行K3s灰度发布 + env: + SSH_HOST: 192.168.10.236 + SSH_USER: root + SSH_PWD: CLKJ@aidj236 + SHA_TAG: ${{ steps.vars.outputs.sha_short }} + run: | + apt update && apt install -y openssh-client sshpass + sshpass -p "${SSH_PWD}" ssh -o StrictHostKeyChecking=no -p 22 ${SSH_USER}@${SSH_HOST} << EOF + echo "1. 应用灰度配置文件" kubectl apply -f /home/ai/k3s/nextjs-traefik-gray.yaml - - echo "2. 正在更新 K3s 灰度版本镜像至: ${SHA_TAG}" + echo "2. 更新镜像版本: ${SHA_TAG}" kubectl set image deployment/nextjs-app-canary nextjs=192.168.10.236:31051/nextjs-app:${SHA_TAG} - - echo "3. 等待灰度 Pod 滚动更新完成..." + echo "3. 等待滚动更新完成" kubectl rollout status deployment/nextjs-app-canary --timeout=60s - - echo "【发布成功】新标签 [${SHA_TAG}] 已就绪,已切入 Traefik Header [version: canary] 路由!" - \ No newline at end of file + echo "【发布成功】灰度版本 ${SHA_TAG} 已上线" + EOF \ No newline at end of file