fix(ci): run staging deploy on host shell
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 镜像。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user