2ebdb08a2f
修复仅用 useDidShow 导致一直加载中;顶栏标题左右等宽居中;走马灯改用 View 双份文本动画。发版默认改生产。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.9 KiB
2.9 KiB
name, description
| name | description |
|---|---|
| dukang-release | 杜康好客发布流程:dev→测试(staging),main→生产;同机双栈。 Use when the user says 发布、上传、deploy、上线、发版、发测试、发生产, or @杜康发布 / @dukang-release. |
杜康发布
同机双栈:/opt/dukang-staging(测试)与 /opt/dukang(生产)。仅用户明确要求发布时执行。
分支与环境
| 分支 | 环境 | 目录 | 端口 | 域名 |
|---|---|---|---|---|
dev_jacy |
日常开发 | 本机 | — | — |
dev |
staging 测试 | /opt/dukang-staging |
8190–8194 | *-test.dukanghaoke.com |
main |
production 生产 | /opt/dukang |
8090–8094 | *.dukanghaoke.com |
默认:dev_jacy → merge → dev → merge → main → 发生产。勿 force push main/dev。
团队约定(2026-08):用户说「发布 / 发版 / 直接发版」且未特别强调时 → 发生产(production)。
仅当用户明确说「发测试 / staging / 测试环境」时 → 发 staging。
用户说「发生产 / 上线生产 / 发版」→ 用 deploy-prod.sh。
用户说「发测试」→ 用 deploy-staging.sh。
标准流程(Windows)
PowerShell 下 分支名必须加引号。
A. 发测试(日常)
# 1. 在 dev_jacy 提交(用户要求时)
git push -u origin HEAD
git checkout "dev"
git pull origin "dev"
git merge "dev_jacy" -m "merge(dev_jacy): <简述>"
git push origin "dev"
git checkout "dev_jacy"
# 2. 发 staging
& "C:\Program Files\Git\bin\bash.exe" "<repo>/deploy/deploy-staging.sh" -- --skip-db
B. 发生产(验收后)
git checkout "main"
git pull origin "main"
git merge "dev" -m "merge(dev): <简述>"
git push origin "main"
git checkout "dev_jacy"
& "C:\Program Files\Git\bin\bash.exe" "<repo>/deploy/deploy-prod.sh" -- --skip-db
- 默认加
--skip-db(无迁移时) - 有 Prisma 迁移:先在 staging 跑通(可
--seed/--accept-data-loss),再生产去掉--skip-db - Staging 微信:正式号 + 全 Mock(
.env.staging) deploy/deploy.env提供DEPLOY_HOST、STAGING_APP_ROOT、PROD_APP_ROOT(勿提交密钥)
首次启用 Staging
服务器一次性:bash deploy/bootstrap-staging.sh(见脚本说明)→ 配 .env.staging → DNS *-test → nginx → deploy-staging.sh -- --seed
同步环境变量
bash deploy/sync-api-env.sh staging
bash deploy/sync-api-env.sh production
等待完成
- 出现
发版完成 exit_code: 0mini-user(h5): 200/api: 200
回复用户
说明:环境(测试/生产)、commit、建议硬刷验证。测试后台有橙色「测试环境」条。
禁止
- 不 amend 已推送 commit;不 force push
main/dev - 不把
.env*私钥打进仓库 - 禁止再用
dev直发生产 - 用户只说「修好」未说发布 → 只改代码,不发版