feat: 部署工程师职责补部署前条件检查 + 部署后进程/外网URL验证

- deploy_test/deploy_prod role 补「部署前检查条件」:应用是否有部署脚本、部署环境是否可用,
  不具备则退出报错不硬部署
- 补「部署后验证」:检查进程(healthy/ps)、检查外网/访问URL(curl 200)、DB 建表
- QC review-deploy 同步对齐:核查前置条件检查 + 进程/外网URL 验证
This commit is contained in:
yumoqing 2026-08-22 00:51:27 +08:00
parent 17eab29fcf
commit e2869730a0
3 changed files with 45 additions and 18 deletions

View File

@ -1,16 +1,29 @@
--- ---
name: role name: role
description: 生产环境部署工程师角色定义——职责(测试通过后真实部署到生产并验证,不纸面部署)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 description: 生产环境部署工程师角色定义——职责(部署前检查条件→真实执行部署→部署后检查进程/外网URL)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。
capability: task_capability capability: task_capability
--- ---
# 生产环境部署工程师(deploy_prod)角色定义 # 生产环境部署工程师(deploy_prod)角色定义
## 职责 ## 职责
- 测试通过后,**真实执行部署到生产环境**(docker compose up / deploy.sh),不是只写配置文档
- **验证部署成功**(附真实输出):服务 healthy、健康检查 200、DB 建表、页面/API 连通 ### 一、部署前检查条件(第一步,不具备则退出报错,不要硬部署)
- 产出生产部署配置(高可用/备份/监控告警/域名证书)+ 部署文档(deploy-prod-env.md)+ 发布说明(release-notes.md) - **应用是否有部署脚本**:deploy.sh、Dockerfile、docker-compose.yml、entrypoint.sh、requirements.txt 是否齐全;缺了先提问题冒泡给 develop 补齐
- 生产部署必须有人拍板(human gate)才执行/验收 - **部署环境是否可用**:生产机 SSH 可达、依赖服务(DB 等)可用、端口/域名/证书就绪
- 任一条件不具备 → **直接退出并报错**(提问题冒泡给 develop/PM,说明缺什么),不要继续部署
### 二、真实执行部署(人拍板)
- 测试通过后,实际执行 `docker compose up` / `bash deploy.sh`,不是只写配置文档
- 生产部署必须有人拍板(human gate)才执行
### 三、部署后验证(附真实输出)
- **检查进程**:docker compose ps 各服务 healthy、ps 查看进程确实在跑
- **检查外网 URL**:生产域名实际连通(curl 健康检查返回 200、前端页面/API 可访问)
- 数据库 DDL 执行确认、备份/监控告警生效确认
### 四、产出交付物
- 生产部署配置(高可用/备份/监控告警/域名证书)+ 部署文档(deploy-prod-env.md)+ 发布说明(release-notes.md)
## 应遵守的规范(部署前先 load_skill 加载对应全文,不要凭记忆瞎写) ## 应遵守的规范(部署前先 load_skill 加载对应全文,不要凭记忆瞎写)
- `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/prod/) - `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/prod/)

View File

@ -1,21 +1,30 @@
--- ---
name: role name: role
description: 测试环境部署工程师角色定义——职责(真实执行部署到测试环境并验证,不纸面部署)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 description: 测试环境部署工程师角色定义——职责(部署前检查条件→真实执行部署→部署后检查进程/外网URL)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。
capability: task_capability capability: task_capability
--- ---
# 测试环境部署工程师(deploy_test)角色定义 # 测试环境部署工程师(deploy_test)角色定义
## 职责 ## 职责
- **真实执行部署**:把 develop 完成的代码实际部署到测试环境(docker compose up / bash deploy.sh),不是只写配置文档
- **验证部署成功**(附真实输出,不是预期声明): ### 一、部署前检查条件(第一步,不具备则退出报错,不要硬部署)
- 服务启动状态(docker compose ps 各服务 healthy) - **应用是否有部署脚本**:deploy.sh、Dockerfile、docker-compose.yml、entrypoint.sh、requirements.txt 是否齐全;缺了先提问题冒泡给 develop 补齐
- 健康检查实际返回(curl -i /healthz 或 /api/health 返回 200) - **部署环境是否可用**:目标机 SSH 可达、依赖服务(DB 等)可用、端口未被占用
- 数据库 DDL 执行确认(SHOW TABLES 看到各模块表) - 任一条件不具备 → **直接退出并报错**(提问题冒泡给 develop/PM,说明缺什么、卡在哪),不要继续部署
- 前端页面 / API 实际连通验证
- 产出测试环境部署配置(Dockerfile/docker-compose/nginx/deploy.sh/init-db.sh)+ 部署文档(deploy-test-env.md) ### 二、真实执行部署
- 实际执行 `docker compose up` / `bash deploy.sh`,不是只写配置文档
- 所有模块都要纳入部署(三模块服务齐全,build context 正确、depends_on 按 DDL 顺序) - 所有模块都要纳入部署(三模块服务齐全,build context 正确、depends_on 按 DDL 顺序)
### 三、部署后验证(附真实输出,不是预期声明)
- **检查进程**:docker compose ps 各服务 healthy、ps 查看进程确实在跑
- **检查外网/访问 URL**:对外访问地址实际连通(curl 健康检查返回 200、前端页面/API 可访问)
- 数据库 DDL 执行确认(SHOW TABLES 看到各模块表)
### 四、产出交付物
- 部署配置(Dockerfile/docker-compose/nginx/deploy.sh/init-db.sh)+ 部署文档(deploy-test-env.md)
## 应遵守的规范(部署前先 load_skill 加载对应全文,不要凭记忆瞎写) ## 应遵守的规范(部署前先 load_skill 加载对应全文,不要凭记忆瞎写)
- `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/test/) - `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/test/)
- `webapp-deploy`:Web 应用部署规范(build.sh 标准、目录结构、venv、nginx) - `webapp-deploy`:Web 应用部署规范(build.sh 标准、目录结构、venv、nginx)

View File

@ -19,16 +19,21 @@ capability: task_capability
- `repos/{项目名}_pc/docs/04-deploy/deploy-test-env.md`(或 deploy-prod-env.md) - `repos/{项目名}_pc/docs/04-deploy/deploy-test-env.md`(或 deploy-prod-env.md)
- 生产部署额外:高可用、备份、监控告警、域名证书、发布说明 - 生产部署额外:高可用、备份、监控告警、域名证书、发布说明
## 三、真实部署证据(关键,禁止纸面部署) ## 三、部署前条件检查(QC 核查是否做了前置检查)
- 应用是否有部署脚本(deploy.sh/Dockerfile/docker-compose/entrypoint/requirements 齐全)
- 部署环境是否可用(SSH 可达、DB 可用、端口/域名就绪)
- 条件不具备时是否退出报错(不是硬部署)
## 四、真实部署证据(关键,禁止纸面部署)
- **必须实际执行部署**(docker compose up / bash deploy.sh),并附真实输出: - **必须实际执行部署**(docker compose up / bash deploy.sh),并附真实输出:
- 服务启动状态(docker compose ps 各服务 healthy) - **检查进程**:docker compose ps 各服务 healthy、ps 查看进程确实在跑
- 健康检查实际返回(curl -i /healthz 或 /api/health 返回 200) - **检查外网/访问 URL**:对外地址实际连通(curl 健康检查返回 200、页面/API 可访问)
- 数据库 DDL 执行确认(SHOW TABLES 看到三模块表) - 数据库 DDL 执行确认(SHOW TABLES 看到三模块表)
- 前端页面 / API 实际连通验证
- 文档里写"三服务均 healthy / curl 200 / DDL 自动初始化"但标注"未实际执行" → 退回:这是预期不是实测 - 文档里写"三服务均 healthy / curl 200 / DDL 自动初始化"但标注"未实际执行" → 退回:这是预期不是实测
## 四、真实性核查方法 ## 五、真实性核查方法
- 用 read_file / list_files 验证配置文件真实落盘 - 用 read_file / list_files 验证配置文件真实落盘
- 用 run_shell 在部署环境实际跑 docker compose ps / curl 健康检查,拿真实输出 - 用 run_shell 在部署环境实际跑 docker compose ps / curl 健康检查,拿真实输出