官方文档
返回文档与指南
PRACTICAL GUIDE / 团队实践

非交互模式与 CI 接入

将 Claude Code 放进可控制的流水线,明确凭证、权限、输出和失败处理。

这是一份社区导读。阅读时可结合文末来源,核对当前版本的完整说明。 打开简体中文官方原文

01先把本地命令做稳定

使用 -p 执行一次性任务,并选择适合后续程序消费的输出。先在本地验证输入、输出和退出状态,再接入 CI。

TERMINAL / CONFIG
claude -p "分析本次变更的潜在回归,按文件输出结论" --output-format json

02明确流水线责任

官方 Claude Code GitHub Actions 可接入 GitHub 工作流。使用前确认触发事件、仓库权限、密钥范围与运行预算。自动生成的建议仍需要验证后再合并。

外部贡献者可控制的文本、代码和 PR 内容都属于输入数据。流水线不应让未信任输入直接决定特权命令或泄露 CI Secrets。

03上线前的检查项

自动化的稳定性来自清楚的边界。先补齐下面这些条件,再把流程推广到更多仓库。

  • 为输出 JSON 做解析、错误和空结果处理。
  • 设置超时、预算和重试上限,保留失败记录。
  • 限制仓库写入与令牌权限到实际需求。
  • 先在测试仓库走通失败、取消和成功路径。
  • 把工作流版本、Claude Code 版本和模型配置纳入变更记录。

04把“完成了”变成程序能理解的结果

CI 不应只搜索输出中有没有“通过”两个字。约定结果结构,例如状态、发现列表、已执行检查与未验证项;解析失败时把作业标记为异常。

自然语言说明与执行状态应分开保存。保存必要日志用于排障,同时过滤密钥、内部路径和不需要公开的源码。

RESULT EXAMPLE
{"status":"reviewed","findings":[],"checks":["existing unit tests"],"limitations":["browser flow not exercised"]}
GO TO THE SOURCE

参考来源

读完了,下一步是动手实践。
KEEP EXPLORING

接下来,可以看看