deploy-and-verify
部署到生产环境并验证。在用户要求"部署"、"上线"、"推到 main"、"合并到 main 并推送"、"验证部署"、"检查线上"时使用。涵盖完整流程:合并 dev → main、推送触发 CI/CD、等待构建完成、验证所有容器版本和健康状态。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
部署到生产环境并验证。在用户要求"部署"、"上线"、"推到 main"、"合并到 main 并推送"、"验证部署"、"检查线上"时使用。涵盖完整流程:合并 dev → main、推送触发 CI/CD、等待构建完成、验证所有容器版本和健康状态。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
清理生产服务器。在用户要求"清理服务器"、"重置服务器"、"清空线上"、"服务器重建"时使用。停止容器、删除数据卷/镜像/env文件,等待 CI/CD 重新部署。
管理开发环境。当用户说"启动开发环境"、"重启容器"、"清理重建"、"停止容器"、"看日志"、"启动生产容器"、"dev start"、"dev --prod"、"dev --clean"、"dev --down"、"dev --logs"时触发。
运行测试。当用户说"跑测试"、"运行测试"、"单元测试"、"E2E测试"、"网关测试"、"前端测试"、"全部测试"、"重跑失败"、"线上测试"、"test unit"、"test e2e"、"test all"时触发。
| name | deploy-and-verify |
| description | 部署到生产环境并验证。在用户要求"部署"、"上线"、"推到 main"、"合并到 main 并推送"、"验证部署"、"检查线上"时使用。涵盖完整流程:合并 dev → main、推送触发 CI/CD、等待构建完成、验证所有容器版本和健康状态。 |
| user_invocable | true |
完整的生产部署流程:合并代码 → 推送触发 CI/CD → 等待构建 → 验证部署。
| 命令 | 说明 |
|---|---|
/deploy-and-verify | 完整流程:部署 + 验证 |
/deploy-and-verify push-dev | 仅推送 dev 分支到远程,不触发部署 |
/deploy-and-verify deploy-only | 仅部署:合并 dev → main,推送触发 CI/CD |
/deploy-and-verify verify-only | 仅验证:检查版本、健康状态、CI 结果 |
根据参数决定执行哪些步骤:
push-dev:只执行步骤 2(推送 dev)deploy-only:只执行「部署流程」(步骤 1-4)verify-only:只执行「验证流程」(步骤 5-7)检查 dev 上有哪些未合并到 main 的 commit:
git log --oneline main..dev
如果没有新 commit,不需要部署。
确保 dev 分支已推送到远程:
git push origin dev
WSL 网络可能不稳定,失败后重试即可。
push main 会触发 CI/CD 部署,必须用户明确要求才能执行。
git checkout main && git merge dev --no-edit
git push origin main
git checkout dev
推送后 CI/CD 自动执行:
gh run list -L 3
确认最新一次运行状态为 completed + success。如果 in_progress,等待后再查。如果失败,用 gh run view <run-id> 查看详情。
curl -sf http://${PRODUCTION_HOST}:{GATEWAY_PORT}/api/version
返回四个容器的版本号(格式 YYYYMMDD-<7位hash>)。对比 main 分支的 commit hash,确认各容器是否更新。版本不一致是正常的 — CI 按路径过滤,只构建有改动的服务。
curl -sf http://${PRODUCTION_HOST}:{GATEWAY_PORT}/api/health
预期返回 {"status":"ok","version":"..."}。
如果版本或健康检查异常,SSH 到服务器排查:
# 查看容器状态
ssh mudasky "docker ps --format '{{.Names}} {{.Status}}'"
# 查看某个容器日志(替换 SERVICE 为 gateway/api/frontend/db)
ssh mudasky "docker logs mudasky-SERVICE-1 --tail 20"
# 检查 db 时区
ssh mudasky "docker exec mudasky-db-1 psql -U mudasky -c 'SHOW timezone;'"
以表格汇总结果:
| 项目 | 状态 | 详情 |
|---|---|---|
| CI | ✓/✗ | 运行状态 |
| gateway | ✓/✗ | 版本号 |
| api | ✓/✗ | 版本号 |
| frontend | ✓/✗ | 版本号 |
| db | ✓/✗ | 版本号 |
| health | ✓/✗ | 响应内容 |