From 6d53b001d3b4a55024fc86c2bd8cf9fc4bab22a2 Mon Sep 17 00:00:00 2001 From: Xiaoxia AI Date: Wed, 24 Jun 2026 19:38:49 +0800 Subject: [PATCH] fix(ci): run staging deploy on host shell --- .gitea/workflows/deploy.yml | 29 ++++++++--------------------- docs/V21-UI-ACCEPTANCE-CHECKLIST.md | 6 ++++++ 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a19ad548c..9a094128e 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -10,8 +10,6 @@ jobs: deploy-staging: name: Deploy Staging runs-on: ubuntu-latest - container: - image: docker:27-cli if: github.ref_name == 'main' || github.ref_name == 'develop' steps: @@ -30,40 +28,29 @@ jobs: shell: sh run: | set -eu - tar --exclude=.git -cf - . | docker run --rm -i \ - -v /:/host \ - docker:27-cli \ - sh -lc ' - set -eu - mkdir -p /host/var/lib/xiaoxia-saas-staging - rm -rf /host/var/lib/xiaoxia-saas-staging/repo - mkdir -p /host/var/lib/xiaoxia-saas-staging/repo - tar -xf - -C /host/var/lib/xiaoxia-saas-staging/repo - ' + mkdir -p /var/lib/xiaoxia-saas-staging + rm -rf /var/lib/xiaoxia-saas-staging/repo + mkdir -p /var/lib/xiaoxia-saas-staging/repo + tar --exclude=.git -cf - . | tar -xf - -C /var/lib/xiaoxia-saas-staging/repo - name: Verify staging env file shell: sh run: | set -eu - docker run --rm -v /:/host docker:27-cli sh -lc 'test -f /host/var/lib/xiaoxia-saas-staging/.env' + test -f /var/lib/xiaoxia-saas-staging/.env - name: Prepare staging env shell: sh run: | set -eu - docker run --rm -v /:/host docker:27-cli sh -lc 'cp /host/var/lib/xiaoxia-saas-staging/.env /host/var/lib/xiaoxia-saas-staging/repo/.env' + cp /var/lib/xiaoxia-saas-staging/.env /var/lib/xiaoxia-saas-staging/repo/.env - name: Deploy staging stack shell: sh run: | set -eu - docker run --rm \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /:/host \ - docker:27-cli sh -lc ' - chmod +x /host/var/lib/xiaoxia-saas-staging/repo/infra/docker/deploy-staging.sh && \ - WEB_PORT=3001 /host/var/lib/xiaoxia-saas-staging/repo/infra/docker/deploy-staging.sh - ' + chmod +x /var/lib/xiaoxia-saas-staging/repo/infra/docker/deploy-staging.sh + WEB_PORT=3001 /var/lib/xiaoxia-saas-staging/repo/infra/docker/deploy-staging.sh - name: Verify staging health shell: sh diff --git a/docs/V21-UI-ACCEPTANCE-CHECKLIST.md b/docs/V21-UI-ACCEPTANCE-CHECKLIST.md index f3ffebdf7..c709a8edb 100644 --- a/docs/V21-UI-ACCEPTANCE-CHECKLIST.md +++ b/docs/V21-UI-ACCEPTANCE-CHECKLIST.md @@ -136,3 +136,9 @@ V21 结构:三张套餐 feature 卡片,免费版/专业版/企业版,推 - xiaoxia-ci-python:3.12 本地镜像缺失,runner 尝试从 Docker Hub 拉取不存在/不可达镜像。 - 由于外网代理拉 python:3.12-slim 超时,已临时从服务器已有 xiaoxia-saas-api:dev 派生构建 xiaoxia-ci-python:3.12,补齐 black/isort/flake8/bandit/pytest。 + +## 2026-06-24 Deploy Workflow 修复记录 + +- Staging deploy 原 job 使用 container: docker:27-cli,runner 主机本地无该镜像且外网拉取卡住。 +- 已改为直接在 runner host shell 执行同步和 infra/docker/deploy-staging.sh,避免依赖外部 Docker CLI 镜像。 +