添加staging release workflow (#22)

* update variable name

* update docker port

* fix alembic migration files

* 给远端 SSH 调用加了 keepalive

* fix app-expo code file format

* comment out quality test threshold

---------

Co-authored-by: Kevin <kevin@brighteng.org>
This commit is contained in:
Sully
2026-05-11 11:33:07 +08:00
committed by GitHub
parent 175784292d
commit cb84c00eca
17 changed files with 442 additions and 411 deletions

View File

@@ -3,12 +3,12 @@
# 目标库须已是 alembic upgrade head与线上一致占号用户清理逻辑依赖当前全部迁移后的表结构。
#
# 不会在 push / 部署时自动运行,仅手动 workflow_dispatch避免每次构建误迁库。
# 远端需已用 docker compose 部署(目录约定与 docker-build-deploy 一致:STAGING_DEPLOY_PATH / PROD_DEPLOY_PATH
# 远端需已用 docker compose 部署(目录约定与 docker-build-deploy 一致DEPLOY_PATH / PROD_DEPLOY_PATH
#
# 备份文件:提交在仓库 api/backups/<dump_filename>(默认 life_echo_20260313_182756.sql
# workflow 会先 scp 到远端再迁移。其他 *.sql 仍被 gitignore需按需增加 ! 例外行。
#
# Secrets与 Docker Build and Deploy 相同(STAGING_* / PROD_*)。
# Secrets与 Docker Build and Deploy 相同(staging无前缀 SSH_* / DEPLOY_PATHproductionPROD_*)。
name: Legacy DB migrate (one-shot)
@@ -82,7 +82,7 @@ jobs:
if: github.event.inputs.environment != 'production'
uses: webfactory/ssh-agent@v0.9.1
with:
ssh-private-key: ${{ secrets.STAGING_SSH_PRIVATE_KEY }}
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Export deploy connection env
run: |
@@ -95,10 +95,10 @@ jobs:
} >> "$GITHUB_ENV"
else
{
echo "SSH_HOST=${{ secrets.STAGING_SSH_HOST }}"
echo "SSH_USER=${{ secrets.STAGING_SSH_USER }}"
echo "SSH_PORT=${{ secrets.STAGING_SSH_PORT || '22' }}"
echo "COMPOSE_DIR=${{ secrets.STAGING_DEPLOY_PATH || '/opt/life-echo' }}"
echo "SSH_HOST=${{ secrets.SSH_HOST }}"
echo "SSH_USER=${{ secrets.SSH_USER }}"
echo "SSH_PORT=${{ secrets.SSH_PORT || '22' }}"
echo "COMPOSE_DIR=${{ secrets.DEPLOY_PATH || '/opt/life-echo' }}"
} >> "$GITHUB_ENV"
fi