本記事では、Claude CodeをCI/CDパイプラインに統合してコードレビュー・テスト・デプロイを自動化する方法について解説しました。このテーマの全記事はClaude Code実践ガイドでご覧いた
本記事では、Claude CodeをCI/CDパイプラインに統合してコードレビュー・テスト・デプロイを自動化する方法について解説しました。このテーマの全記事はClaude Code実践ガイドでご覧いた
ブログ目次
HubSpot導入、AI活用、CRM整備、業務効率化までをまとめて支援しています。記事で気になったテーマを、そのまま相談ベースで整理できます。
Claude Code公式GitHub Action(claude-code-action)のセットアップ手順と設定オプション。
CI/CDパイプラインにAIエージェントを組み込むことで、コードレビュー、テスト生成、ドキュメント更新などの工程を自動化できます。Claude Codeは公式のGitHub Action(anthropics/claude-code-action)とヘッドレスモード(--print フラグ)を提供しており、既存のDevOpsワークフローに直接統合できるよう設計されています。詳しくは「Claude Codeでチーム開発を効率化する方法」で解説しています。
出典: Anthropic公式: GitHub Actions
本記事では、Claude CodeをCI/CDパイプラインに組み込む具体的な方法と、実運用で効果を発揮するパイプライン設計パターンを解説します。AI活用完全ガイドで、AI活用の全体像を把握できます。
CI/CDパイプラインにAIを組み込みたいDevOpsエンジニア・開発リーダーに向けた記事です。
-p / --print フラグ)の仕組みと、出力フォーマット(text / json / stream-json)の使い分け — (短縮形:)フラグを使えば、ClaudeCodeをバッチ処理として実行できます。Claude Codeの通常利用はインタラクティブなターミナルセッションですが、CI/CD環境では人間の操作が介在しない非対話的な実行が必要です。--print(短縮形: -p)フラグを使えば、Claude Codeをバッチ処理として実行できます。詳しくは「Claude Codeの企業導入セキュリティガイド」で解説しています。
claude -p "このファイルの問題点を指摘してください" --file src/index.ts
このコマンドは、プロンプトを処理し、結果を標準出力(stdout)に表示して終了します。Unixパイプと組み合わせれば、Gitの差分をレビューするといった処理も1行で実現できます。詳しくは「Claude Codeでプロジェクト管理を効率化する方法」で解説しています。
git diff HEAD~1 | claude -p "この差分をレビューしてください"
CI/CD環境では、--no-user-prompt フラグを併用することで、ユーザー確認のプロンプトが一切表示されなくなり、パイプラインがブロックされるリスクを排除できます。パーミッション確認が発生した場合は、操作を実行せずスキップする動作になります。
claude -p "テストを実行して結果を報告してください" \
--no-user-prompt \
--allowedTools "Read,Grep,Glob,Bash(npm test)"
--allowedTools フラグと組み合わせることで、CI環境で実行可能な操作を明示的にホワイトリスト化できます。この設定により、レビュー用途では読み取り専用ツールのみを許可し、テスト実行用途では特定のBashコマンドのみを許可するといった細かい制御が可能です。
ヘッドレスモードでは --output-format オプションで3種類の出力形式を選択できます。
| フォーマット | 用途 | 特徴 |
|---|---|---|
| text | 人間が読む用途 | デフォルト。読みやすいテキスト形式 |
| json | プログラムでの後処理 | 構造化データとして解析可能。jq での後続処理に最適 |
| stream-json | リアルタイム処理 | ストリーミング形式でトークン単位で出力。長時間処理の進捗監視に有効 |
CI/CDパイプラインで結果を後続ステップに渡す場合は、json形式が推奨されます。
# JSON出力をjqで後処理する例
claude -p "このコードの問題点を列挙してください" \
--output-format json | jq '.result'
stream-json 形式は、処理中にリアルタイムでログを確認したい場合に有効です。長時間のレビューや大規模なコードベースの分析で、パイプラインのタイムアウト前に進捗を確認できます。
CI/CD環境でのセキュリティは3つの機構で担保されます。
--allowedTools) — 実行可能なツールをホワイトリストで限定Anthropicが公式に提供する
anthropics/claude-code-action@v1は、GitHub Actionsランナー上でClaude Codeを実行し、PRへの自動コメントやIssueの自動トリアージを実現します。
セットアップは2つの方法があります。
/install-github-app を実行name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
permissions:
contents: read
pull-requests: write
issues: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: $
max_turns: 5
timeout_minutes: 10
prompt: |
このPRの変更点をレビューしてください。
以下の観点で評価してください:
1. ロジックの正確性
2. エラーハンドリングの網羅性
3. パフォーマンスへの影響
4. セキュリティリスク
5. テストの十分性
このワークフローにより、PRが作成・更新されるたびにClaude Codeが自動でコードレビューを実行し、結果をPRのコメントとして投稿します。fetch-depth: 0 で全コミット履歴を取得することで、変更の文脈をより正確に理解できます。
モノレポ構成では、変更されたパスに応じて異なるレビュー基準を適用できます。
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: $
prompt: |
変更されたファイルに基づいてレビューしてください。
- src/api/ → APIの後方互換性を確認
- src/db/ → SQLインジェクションのリスクを確認
- src/auth/ → 認証・認可のセキュリティを重点確認
- src/components/ → アクセシビリティとパフォーマンスを確認
最も一般的なユースケースです。人間のレビューアがコードを読む前に、Claude Codeが構文チェック、ロジックの問題、セキュリティリスクを事前に検出します。
PRの変更に対してセキュリティ専門のレビューを自動実行します。従来の静的解析ツールでは検出が困難なビジネスロジックの脆弱性も、Claude Codeのコード理解力で発見できます。
name: Security Audit
on:
pull_request:
paths:
- 'src/auth/**'
- 'src/api/**'
- 'src/db/**'
jobs:
security-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: $
prompt: |
セキュリティの観点でこのPRをレビューしてください。
確認項目:
- 認証・認可の実装に漏れはないか
- SQLインジェクション、XSS、CSRFのリスク
- 入力値バリデーションの網羅性
- シークレットのハードコーディング
- 権限昇格の可能性
- IDOR(安全でない直接オブジェクト参照)
PRの差分を分析し、変更されたコードに対応するテストケースを自動生成します。
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: $
prompt: |
変更されたファイルに対するユニットテストを生成してください。
テストフレームワーク: Jest
カバレッジ目標: 分岐カバレッジ80%以上
テストケースには正常系・異常系・境界値を含めてください
生成されたテストは別ブランチにプッシュし、人間がレビューしてからマージするフローが安全です。
マージされたPRの内容を分析し、リリースノートやChangelogを自動生成します。
name: Generate Changelog
on:
push:
tags:
- 'v*'
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate changelog
run: |
git log $(git describe --tags --abbrev=0 HEAD^)..HEAD --pretty=format:"%s" | \
claude -p "以下のコミットメッセージからリリースノートを生成してください。
カテゴリ分け(機能追加/バグ修正/改善/破壊的変更)して、
ユーザーが理解しやすい文章にしてください" \
--output-format text > CHANGELOG_LATEST.md
コードの変更に連動して、READMEやAPIドキュメントの更新を自動化します。APIの引数や戻り値が変更された場合に、ドキュメントとの不整合を検出してPRにコメントするパターンです。
新しいIssueが作成されたときに、内容を分析してラベルの自動付与、担当者のサジェスト、優先度の推定を行います。
on:
issues:
types: [opened]
jobs:
triage:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: $
prompt: |
このIssueを分析し、適切なラベルを提案してください。
ラベル候補: bug, feature, docs, performance, security
重複している既存Issueがあれば指摘してください。
再現手順が不足している場合は質問を投稿してください。
CI/CDにおけるAIレビューの目標レイテンシは3〜5分以内です。以下の設定で実行時間を制御します。
| 制御項目 | 推奨値 | 効果 |
|---|---|---|
| max_turns | 3〜5 | 会話ターン数の上限 |
| max_tokens | 4,096 | 出力トークンの上限 |
| timeout | 300秒 | 全体の実行時間上限 |
長時間のレビューが必要な大規模PRは、変更ファイル数で分割してジョブを並列化するのが効果的です。
CI/CDでのClaude Code利用は、PR数に比例してAPIコストが増加します。コスト管理のポイントは以下のとおりです。
ANTHROPIC_API_KEY はリポジトリのSecretsまたは組織レベルのSecretsに保存します。ワークフローの入力パラメータやログに平文でキーが出力されないよう注意が必要です。StepSecurityの harden-runner を併用すれば、GitHub Actionsランナー自体のセキュリティも強化できます。
セキュリティ面の詳細な対策については、Claude Codeの企業導入セキュリティガイドを参照してください。
GitLab CIでは、ヘッドレスモードを使ってジョブ内でClaude Codeを実行します。
code_review:
stage: review
script:
- npm install -g @anthropic-ai/claude-code
- git diff origin/main...HEAD | claude -p "この差分をレビューしてください" \
--output-format json \
--no-user-prompt \
--allowedTools "Read,Grep,Glob" > review.json
artifacts:
paths:
- review.json
--no-user-prompt と --allowedTools を組み合わせることで、非対話的かつ安全にCI環境で実行できます。
JenkinsではPipelineスクリプト内で sh ステップとしてClaude Codeを呼び出します。Jenkinsの場合、APIキーはCredentialsプラグインで管理し、withCredentials ブロック内で環境変数として注入するのが安全です。
HubSpot CMSのテーマ開発では、テンプレートやモジュールの変更をClaude Codeでレビューし、HubL(HubSpotのテンプレート言語)の構文エラーやアクセシビリティの問題を自動検出できます。
HubSpot API連携アプリの開発では、APIレスポンスのスキーマ変更検知、エラーハンドリングのチェック、レート制限への対応漏れの検出などを自動化できます。AI駆動開発の全体像と組み合わせることで、開発プロセス全体の自動化が実現します。
Shopifyは、オープンソースプロジェクトでClaude Code Actionを導入し、外部コントリビューターからのPRの初期レビューを自動化しています。CIでの自動レビューにより、メンテナの負荷を軽減しつつ、PRのフィードバックサイクルを数日から数時間に短縮しました。こうしたAI活用に関心のある方は、経営データの可視化やコンテンツマーケティングの効率化の詳細もあわせてご覧ください。
Netlifyは、コードの変更に連動してドキュメントの不整合を検出するCIワークフローを構築しています。APIの変更とドキュメントのずれを自動検出し、修正PRを自動生成するパイプラインにより、ドキュメントの鮮度を維持しています。
本記事では、Claude CodeをCI/CDパイプラインに統合してコードレビュー・テスト・デプロイを自動化する方法について解説しました。このテーマの全記事はClaude Code実践ガイドでご覧いただけます。
ポイントを振り返ります。
-p / --print フラグ)と --no-user-prompt、--allowedTools を組み合わせることで、GitHub Actions・GitLab CI・Jenkinsなど任意のCIツールでClaude Codeを安全かつ非対話的に実行できますanthropics/claude-code-action@v1)によるPRレビュー自動化は、レビュー待ち時間を数時間から数分に短縮し、レビュー基準の統一にも貢献しますCRMを活用した業務効率化やAIとの連携に関するご相談は、CRM特化型コンサルティングのStartLinkまでお気軽にお問い合わせください。
はい、ヘッドレスモード(-p / --print フラグ)を使えば、GitLab CI、Jenkins、CircleCI、Azure DevOpsなど、任意のCIツールで利用できます。--no-user-prompt フラグでパイプラインのブロックを防止し、--allowedTools で実行可能なツールを制限することで、安全な非対話実行が可能です。公式GitHub Actionの恩恵(PR自動コメントなど)を受けたい場合はGitHub Actionsが最も統合度が高いですが、基本的なレビュー機能はどのCIツールでも実現可能です。
コストはPRの規模と頻度に依存します。目安として、平均的なPR(変更行数100行程度)のレビューは1回あたり数十円程度です。1日10件のPRがある中規模チームで月額数千円〜1万円程度が一般的です。max_turnsとmax_tokensを適切に設定することでコストを制御できます。
不要にはなりません。Claude Codeの自動レビューは、人間のレビューの「補助」として位置づけるのが適切です。構文チェック、一般的なバグパターン、セキュリティリスクの検出はAIが得意ですが、ビジネスロジックの妥当性やアーキテクチャ判断は人間の判断が必要です。AIが低レベルの問題を事前に処理することで、人間のレビューアが設計やロジックに集中できるようになります。
Anthropicの標準ポリシーでは、API経由で送信されたコードはモデル学習に使用されません。Enterpriseプランではゼロデータリテンション(ZDR)が契約で保証されます。さらに懸念がある場合は、サンドボックスのネットワーク隔離でAnthropicのAPIエンドポイント以外への通信をブロックする構成が推奨されます。
GitHub Actionsの場合、基本的なPRレビュー自動化は30分〜1時間程度で導入できます。/install-github-app コマンドで自動セットアップすれば、ワークフローYAMLの手動記述も最小限です。カスタムレビュー基準の設定やパス別のルール設計を含めても、1〜2日あれば実運用に耐える構成を構築できます。
json は処理完了後に全結果を一括で出力するため、jq などでの後処理やパイプラインの後続ステップへのデータ受け渡しに適しています。stream-json はトークン単位でリアルタイムに出力されるため、長時間の処理中に進捗を確認したい場合や、ストリーミングで結果を表示するダッシュボードとの連携に適しています。通常のCI/CDパイプラインでは json を選択するのが無難です。
株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。
株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。