把 Codex 接进 CI 时,永远使用 exec 模式,固定权限与输出。
CI/CD 与 GitHub Action
CI 自动化的核心是「确定性」。Codex 在 CI 里必须像一个普通脚本一样输入清晰、输出可解析。
非交互任务
codex exec模式。- 固定
--ask-for-approval never。 - 使用最小权限 profile。
- 固定输出文件路径。
GitHub Action 示例
- name: Run Codex review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
codex exec \
--ask-for-approval never \
-c sandbox=":workspace" \
"请审查本次 PR diff,按清单输出 markdown 报告到 reports/review.md"失败处理
- 失败时输出日志和建议。
- 不自动重试危险操作。
- 把 Codex 输出当作建议,不作为门禁的唯一依据。