Files
dukang/.cursor/skills/dukang-release/SKILL.md
T
jacy 2ebdb08a2f fix(mini-user): 门店详情加载、标题居中与走马灯展示
修复仅用 useDidShow 导致一直加载中;顶栏标题左右等宽居中;走马灯改用 View 双份文本动画。发版默认改生产。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 14:28:59 +08:00

2.9 KiB
Raw Blame History

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 81908194 *-test.dukanghaoke.com
main production 生产 /opt/dukang 80908094 *.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_HOSTSTAGING_APP_ROOTPROD_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: 0
  • mini-user(h5): 200 / api: 200

回复用户

说明:环境(测试/生产)、commit、建议硬刷验证。测试后台有橙色「测试环境」条。

禁止

  • 不 amend 已推送 commit;不 force push main/dev
  • 不把 .env* 私钥打进仓库
  • 禁止再用 dev 直发生产
  • 用户只说「修好」未说发布 → 只改代码,不发版