【結論】Claude CodeをCI/CDで運用する
本格運用では対話CLIをCIへ無理に常駐させず、Headless実行、Agent SDK、GitHub Actions、Routinesを用途別に選びます。
CIでは読み取り専用レビュー、最大ターン、Tool allowlist、Timeout、Concurrency、成果物保存を設定します。
自動修正は別branchとPull Requestへ限定し、人間のReviewとRequired checksを残します。
# ターミナルで実行:非対話レビューをJSON出力
claude -p 'git diffをレビューし重大度付きJSONで返してください' --output-format json --max-turns 4
# ターミナルで実行:許可Toolを限定
claude -p 'テスト結果を要約してください' --allowedTools 'Read,Grep,Glob,Bash(npm test:*)' --max-turns 3
# ターミナルで実行:終了コードを保存
claude -p '変更をレビューしてください' > review.json具体的な手順・設定方法
PRイベント、対象branch、同時実行数、Timeout、Secretsを定義します。
最初はコメント生成だけに限定し、コード変更とPushを許可しません。
精度、誤検知、利用量、処理時間を記録して段階的に拡張します。
実践プロンプト / 活用テクニック
# CIのClaude Codeへ渡す指示
このPull Requestの差分だけをレビューしてください。
重大なSecurity、破壊的変更、テスト不足をJSON配列で返してください。
ファイル編集、外部書込み、Commit、Push、PR承認は行わないでください。注意点・よくあるエラーと対処法
CI用Credentialは最小権限、短寿命、環境分離を徹底します。
同じCommitへの重複実行をConcurrency設定で防ぎます。
AIレビューをStatic analysisや人間Reviewの代替にしないでください。