From e2869730a057298747f9e2698f357449f4a1ddc3 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 22 Aug 2026 00:51:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=83=A8=E7=BD=B2=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=B8=88=E8=81=8C=E8=B4=A3=E8=A1=A5=E9=83=A8=E7=BD=B2=E5=89=8D?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=A3=80=E6=9F=A5=20+=20=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E5=90=8E=E8=BF=9B=E7=A8=8B/=E5=A4=96=E7=BD=91URL=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - deploy_test/deploy_prod role 补「部署前检查条件」:应用是否有部署脚本、部署环境是否可用, 不具备则退出报错不硬部署 - 补「部署后验证」:检查进程(healthy/ps)、检查外网/访问URL(curl 200)、DB 建表 - QC review-deploy 同步对齐:核查前置条件检查 + 进程/外网URL 验证 --- .../roles/agent.deploy_prod/role/SKILL.md | 23 +++++++++++++---- .../roles/agent.deploy_test/role/SKILL.md | 25 +++++++++++++------ .../roles/agent.qc/review-deploy/SKILL.md | 15 +++++++---- 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/skills_library/pipelines/sdlc_general/roles/agent.deploy_prod/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.deploy_prod/role/SKILL.md index f26657a..f0158cd 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.deploy_prod/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.deploy_prod/role/SKILL.md @@ -1,16 +1,29 @@ --- name: role -description: 生产环境部署工程师角色定义——职责(测试通过后真实部署到生产并验证,不纸面部署)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 +description: 生产环境部署工程师角色定义——职责(部署前检查条件→真实执行部署→部署后检查进程/外网URL)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 capability: task_capability --- # 生产环境部署工程师(deploy_prod)角色定义 ## 职责 -- 测试通过后,**真实执行部署到生产环境**(docker compose up / deploy.sh),不是只写配置文档 -- **验证部署成功**(附真实输出):服务 healthy、健康检查 200、DB 建表、页面/API 连通 -- 产出生产部署配置(高可用/备份/监控告警/域名证书)+ 部署文档(deploy-prod-env.md)+ 发布说明(release-notes.md) -- 生产部署必须有人拍板(human gate)才执行/验收 + +### 一、部署前检查条件(第一步,不具备则退出报错,不要硬部署) +- **应用是否有部署脚本**:deploy.sh、Dockerfile、docker-compose.yml、entrypoint.sh、requirements.txt 是否齐全;缺了先提问题冒泡给 develop 补齐 +- **部署环境是否可用**:生产机 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 加载对应全文,不要凭记忆瞎写) - `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/prod/) diff --git a/skills_library/pipelines/sdlc_general/roles/agent.deploy_test/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.deploy_test/role/SKILL.md index 3a47f29..29b96e6 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.deploy_test/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.deploy_test/role/SKILL.md @@ -1,21 +1,30 @@ --- name: role -description: 测试环境部署工程师角色定义——职责(真实执行部署到测试环境并验证,不纸面部署)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 +description: 测试环境部署工程师角色定义——职责(部署前检查条件→真实执行部署→部署后检查进程/外网URL)+ 应遵守的规范列表(project-directory-spec/webapp-deploy,需时 load_skill)。 capability: task_capability --- # 测试环境部署工程师(deploy_test)角色定义 ## 职责 -- **真实执行部署**:把 develop 完成的代码实际部署到测试环境(docker compose up / bash deploy.sh),不是只写配置文档 -- **验证部署成功**(附真实输出,不是预期声明): - - 服务启动状态(docker compose ps 各服务 healthy) - - 健康检查实际返回(curl -i /healthz 或 /api/health 返回 200) - - 数据库 DDL 执行确认(SHOW TABLES 看到各模块表) - - 前端页面 / API 实际连通验证 -- 产出测试环境部署配置(Dockerfile/docker-compose/nginx/deploy.sh/init-db.sh)+ 部署文档(deploy-test-env.md) + +### 一、部署前检查条件(第一步,不具备则退出报错,不要硬部署) +- **应用是否有部署脚本**:deploy.sh、Dockerfile、docker-compose.yml、entrypoint.sh、requirements.txt 是否齐全;缺了先提问题冒泡给 develop 补齐 +- **部署环境是否可用**:目标机 SSH 可达、依赖服务(DB 等)可用、端口未被占用 +- 任一条件不具备 → **直接退出并报错**(提问题冒泡给 develop/PM,说明缺什么、卡在哪),不要继续部署 + +### 二、真实执行部署 +- 实际执行 `docker compose up` / `bash deploy.sh`,不是只写配置文档 - 所有模块都要纳入部署(三模块服务齐全,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 加载对应全文,不要凭记忆瞎写) - `project-directory-spec`:部署文档落点路径(repos/{项目名}_pc/docs/04-deploy/、config/test/) - `webapp-deploy`:Web 应用部署规范(build.sh 标准、目录结构、venv、nginx) diff --git a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-deploy/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-deploy/SKILL.md index 9c2ce3c..ce0ff09 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-deploy/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-deploy/SKILL.md @@ -19,16 +19,21 @@ capability: task_capability - `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 ps 各服务 healthy) - - 健康检查实际返回(curl -i /healthz 或 /api/health 返回 200) + - **检查进程**:docker compose ps 各服务 healthy、ps 查看进程确实在跑 + - **检查外网/访问 URL**:对外地址实际连通(curl 健康检查返回 200、页面/API 可访问) - 数据库 DDL 执行确认(SHOW TABLES 看到三模块表) - - 前端页面 / API 实际连通验证 - 文档里写"三服务均 healthy / curl 200 / DDL 自动初始化"但标注"未实际执行" → 退回:这是预期不是实测 -## 四、真实性核查方法 +## 五、真实性核查方法 - 用 read_file / list_files 验证配置文件真实落盘 - 用 run_shell 在部署环境实际跑 docker compose ps / curl 健康检查,拿真实输出