实战 A4:Codex 自动化与 CI/CD 集成——让 AI 7x24 小时守护你的代码
实战教程系列 系列 A:A1 配置实战 | A2 日常开发 | A3 审查与质量 | A4 自动化 CI/CD ← 本文 | A5 大型项目
# Codex 自动化
## 每日依赖检查
- npm outdated + go list
- 安全公告扫描
- Triage 收件箱报告
## PR 监控
- 新评论自动响应
- CI 失败自动修复
- 工作时段策略
## Cloud Tasks
- 远程执行耗时任务
- 集成测试套件
- 结果 diff 回本地
## 设计原则
- 独立运行
- 明确收件箱
- 失败即通知
- 成本控制
案例 1:每日依赖检查自动化
场景:每天早上 9:00 自动检查依赖更新和安全公告。
在 Codex App → Automations 面板创建:
名称:Daily Dependency Check
调度:0 9 * * *(每天早上 9:00)
模式:Standalone(独立运行)
Worktree:是(不干扰本地工作)
Prompt:
检查 package.json 和 go.mod 中的依赖更新。
For npm:
- 运行 npm outdated --json
- 对于每个可更新的包,检查 CHANGELOG 中是否有 breaking changes
For Go:
- 运行 go list -u -m all
- 对于每个可更新的模块,检查是否有安全公告
汇总:
- 安全的 patch 更新:自动创建 PR
- minor 更新:列出变更,标记需要人工审查
- major 更新:列出 breaking changes
- 安全漏洞:高亮标记,附 CVE 编号
每天早上,Triage 收件箱中出现一份依赖健康报告。
案例 2:PR 监控自动化——新评论自动响应
场景:当你的 PR 收到新的 review 评论时,自动分析是否需要代码修改。
名称:PR Review Monitor
调度:*/30 * * * *(每 30 分钟)
模式:Thread Automation(保持上下文)
Prompt:
检查我的 open PR 列表(通过 GitHub 插件)。
对于每个 PR:
1. 检查是否有新的 review 评论
2. 如果有新评论,分析评论内容:
- 如果是代码修改建议:评估是否合理,合理的自动修改并回复
- 如果是问题:回答或请求澄清
- 如果是 approve:报告状态
3. 如果 CI 失败:分析日志,尝试修复
约束:
- 只修改自己提交的 PR
- 任何有风险的操作(merge、force push)需要先通知我
- 在工作时间(9:00-18:00)内高频检查,其他时间每小时一次
案例 3:Cloud Tasks 远程执行
场景:你有一个耗时 30 分钟的集成测试套件,不想在本地等。
# 提交代码后,从 CLI 提交 Cloud Task
codex cloud exec --env full-test-env "
拉取最新代码。
运行完整集成测试套件:docker compose -f docker-compose.test.yml up --abort-on-container-exit
报告测试结果。如果有失败,列出失败用例和日志。
"
然后在本地继续开发。测试完成后,结果会出现在 App 的 Cloud Tasks 面板中。如果测试通过,再用 codex apply 把结果 diff(如果有自动修复)应用到本地。
Automation 设计原则
flowchart LR
A[Codex Automations] --> B[每日依赖检查]
A --> C[PR 监控]
A --> D[Cloud Tasks]
B --> E[Triage 收件箱]
C --> E
D --> E
E --> F[开发者处理]
B -.->|cron 调度| B
C -.->|定时轮询| C
D -.->|手动提交| D
- 独立运行:每个自动化应该可以独立完成,不依赖其他自动化的结果
- 明确收件箱:用 Triage 的已读/未读状态追踪
- 失败即通知:自动化失败时应该主动通知,而不是静默跳过
- 成本控制:定时自动化的累积成本可能很大——用轻量模型跑日常检查
下一章:A5: Codex 大型项目实战
实操清单
- 在 Codex App 的 Automations 面板中创建第一个独立自动化
- 编写每日依赖检查自动化(npm outdated + go list + 安全公告)
- 配置 cron 表达式设定合适的执行频率
- 开启 Worktree 隔离模式(Git 仓库项目)
- 测试自动化 Prompt:先在普通线程中手动跑一遍
- 创建 Thread Automation:心跳式监控 PR 状态
- 提交一个 Cloud Task 执行耗时测试套件
- 每天早上查看 Triage 收件箱,处理自动化发现