fix: review-deploy 改 Python 直跑标准(无docker) + 对外地址用主域名+端口禁编造子域名
- QC review-deploy:去 Dockerfile/docker-compose/docker compose ps(测试环境无docker) - deploy_test + review-deploy:对外地址只用 hrstest.opencomputing.cn:端口,禁止编造子域名
This commit is contained in:
parent
dfcde5dd0e
commit
7b3e474b4d
@ -34,8 +34,10 @@ capability: deploy_capability
|
||||
|
||||
### 三、部署后验证(附真实输出,不是预期声明)
|
||||
- **检查进程**:`ssh hrs@hrstest "ps -ef | grep app.py"` 各模块进程确实在跑
|
||||
- **健康检查**:`curl http://127.0.0.1:{端口}/healthz` 返回 200
|
||||
- **健康检查**:`curl http://hrstest.opencomputing.cn:{端口}/healthz` 返回 200
|
||||
- **DB 连通**:`mysql -h localhost -u test -ptest123 hrs -e "SHOW TABLES"` 看到各模块表
|
||||
- **对外地址只用主域名+端口**:`http://hrstest.opencomputing.cn:{端口}`(或内网 `http://{IP}:{端口}`)。
|
||||
**禁止编造子域名**(如 `selfservice.hrstest.opencomputing.cn`)——子域名未配 DNS/nginx,必然无法解析,会被 QC 退回。
|
||||
|
||||
### 四、产出交付物
|
||||
- 部署文档(deploy-test-env.md:真实部署步骤 + 端口表 + 验证输出)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
name: review-deploy
|
||||
description: QC 审查部署工程师(agent.deploy_test/deploy_prod)产出的检查清单——部署配置落盘、部署文档、真实部署证据(健康检查/服务启动/DB连通)。触发:审查 deploy_test / deploy_prod 阶段交付件。
|
||||
description: QC 审查部署工程师(agent.deploy_test/deploy_prod)产出的检查清单——部署配置落盘、部署文档、真实部署证据(进程/健康检查/DB连通)。触发:审查 deploy_test / deploy_prod 阶段交付件。
|
||||
capability: task_capability
|
||||
---
|
||||
|
||||
@ -8,33 +8,45 @@ capability: task_capability
|
||||
|
||||
被查对象:agent.deploy_test(测试环境)、agent.deploy_prod(生产环境)。审查其产出时**以真实部署证据为准,不只看文档声明**。
|
||||
|
||||
## 测试环境(hrstest)部署方式:Python 直跑,无 docker
|
||||
|
||||
- 测试机 `hrstest.opencomputing.cn` **没有 docker**,部署一律 Python 直跑:
|
||||
- 各模块 `app.py`(启动入口)+ `requirements.txt`(依赖)+ `deploy.sh`(建表/装依赖/起服务/写 PID)
|
||||
- **不要要求 Dockerfile / docker-compose / docker compose ps** —— 测试环境根本没有 docker,要求这些是错误标准
|
||||
|
||||
## 一、部署配置落盘
|
||||
|
||||
- 对照 `project-directory-spec` + `webapp-deploy`:
|
||||
- `repos/{项目名}_pc/config/test/`(或 config/prod/)下:Dockerfile、docker-compose.yml、requirements.txt、entrypoint.sh、nginx/default.conf、deploy.sh、init-db.sh
|
||||
- 所有模块都要纳入部署(organization/payroll/recruitment 三服务齐全,build context 正确、depends_on 按 DDL 顺序)
|
||||
- `repos/{项目名}_pc/config/test/` 下:`deploy.sh`、`requirements.txt`、`init-db.sh`、各模块 `app.py` 入口说明
|
||||
- 所有模块都要纳入部署(organization/payroll/recruitment/selfservice 各模块 app.py 齐全,端口互不冲突)
|
||||
|
||||
## 二、部署文档落盘
|
||||
|
||||
- `repos/{项目名}_pc/docs/04-deploy/deploy-test-env.md`(或 deploy-prod-env.md)
|
||||
- 生产部署额外:高可用、备份、监控告警、域名证书、发布说明
|
||||
- 文档里写明:各模块端口表、启动命令、真实部署步骤
|
||||
|
||||
## 三、部署前条件检查(QC 核查是否做了前置检查)
|
||||
|
||||
- 应用是否有部署脚本(deploy.sh/Dockerfile/docker-compose/entrypoint/requirements 齐全)
|
||||
- 部署环境是否可用(SSH 可达、DB 可用、端口/域名就绪)
|
||||
- 条件不具备时是否退出报错(不是硬部署)
|
||||
- 应用是否有部署入口(各模块 app.py / deploy.sh)
|
||||
- 测试机是否可达:`ssh -o BatchMode=yes hrs@hrstest.opencomputing.cn echo ok`
|
||||
- 条件不具备时是否退出报错冒泡(不是硬部署)
|
||||
|
||||
## 四、真实部署证据(关键,禁止纸面部署)
|
||||
|
||||
- **必须实际执行部署**(docker compose up / bash deploy.sh),并附真实输出:
|
||||
- **检查进程**:docker compose ps 各服务 healthy、ps 查看进程确实在跑
|
||||
- **检查外网/访问 URL**:对外地址实际连通(curl 健康检查返回 200、页面/API 可访问)
|
||||
- 数据库 DDL 执行确认(SHOW TABLES 看到三模块表)
|
||||
- 文档里写"三服务均 healthy / curl 200 / DDL 自动初始化"但标注"未实际执行" → 退回:这是预期不是实测
|
||||
- **必须实际执行部署**(ssh 到测试机跑 deploy.sh / nohup python3 app.py),并附真实输出:
|
||||
- **检查进程**:`ssh hrs@hrstest.opencomputing.cn "ps -ef | grep app.py"` 各模块进程确实在跑(有 PID、端口监听)
|
||||
- **健康检查**:`curl http://hrstest.opencomputing.cn:{端口}/healthz` 返回 200(**用真实可达地址,见下**)
|
||||
- **DB 连通**:`mysql -h localhost -u test -ptest123 hrs -e "SHOW TABLES"` 看到各模块表
|
||||
- 文档里写"进程已启动 / curl 200 / 表已建"但标注"未实际执行" → 退回:这是预期不是实测
|
||||
|
||||
## 五、真实性核查方法
|
||||
## 五、对外地址规范(关键,防止编造域名)
|
||||
|
||||
- 测试环境对外地址**只用主域名 + 端口**:`http://hrstest.opencomputing.cn:{端口}`(或内网 `http://{IP}:{端口}`)
|
||||
- **禁止编造子域名**(如 `selfservice.hrstest.opencomputing.cn`)——子域名未配 DNS/nginx,必然无法解析
|
||||
- QC 核实健康检查时,用 `curl http://hrstest.opencomputing.cn:{端口}/healthz` 或内网 IP:端口,不用子域名
|
||||
|
||||
## 六、真实性核查方法
|
||||
|
||||
- 用 read_file / list_files 验证配置文件真实落盘
|
||||
- 用 run_shell 在部署环境实际跑 docker compose ps / curl 健康检查,拿真实输出
|
||||
- 用 run_shell 实际 ssh 到测试机跑 `ps -ef | grep app.py` / `curl 健康检查` / `mysql SHOW TABLES`,拿真实输出
|
||||
- 生产部署必须有人拍板(human gate)才验收
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user