Claude Code × CI/CD|コードレビュー・テスト・デプロイを自動化するパイプライン設計

  • 2026年3月10日
  • 最終更新: 2026年4月13日
この記事の結論

本記事では、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エンジニア・開発リーダーに向けた記事です。

  • Claude Code公式GitHub Action(claude-code-action)のセットアップ手順と設定オプション — 出典:Anthropic公式:GitHubActionsセットアップは2つの方法があります。
  • ヘッドレスモード(-p / --print フラグ)の仕組みと、出力フォーマット(text / json / stream-json)の使い分け — (短縮形:)フラグを使えば、ClaudeCodeをバッチ処理として実行できます。
  • PRレビュー、セキュリティ監査、テスト自動生成、Changelog生成など、CI/CDで自動化できる6つのユースケース — 人間のレビューアがコードを読む前に、ClaudeCodeが構文チェック、ロジックの問題、セキュリティリスクを事前に検出します。
  • パイプラインの実行時間とAPIコストを制御するための設計上の注意点 — CI/CDにおけるAIレビューの目標レイテンシは3〜5分以内です。
  • HubSpot CMS / API開発へのCI/CD自動化の応用パターン — AI駆動開発の全体像と組み合わせることで、開発プロセス全体の自動化が実現します。

ヘッドレスモードの基礎

-p / --printフラグによる非対話実行

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 "この差分をレビューしてください"

--no-user-promptによる完全非対話実行

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 — 実行可能なツールをホワイトリストで限定
  • 環境変数 — APIキーをシークレットとして管理(ログに出力しない)
  • タイムアウト — 無限実行を防止する最大実行時間の設定

GitHub Actions連携の実装

公式Action: claude-code-action

Anthropicが公式に提供する anthropics/claude-code-action@v1 は、GitHub Actionsランナー上でClaude Codeを実行し、PRへの自動コメントやIssueの自動トリアージを実現します。

セットアップは2つの方法があります。

  1. CLIから自動セットアップ — Claude Codeのターミナルで /install-github-app を実行
  2. 手動セットアップ — ワークフローYAMLを直接記述

基本的なPRレビューワークフロー

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/ → アクセシビリティとパフォーマンスを確認

自動化ユースケースの設計パターン

パターン1: PRレビューの自動化

最も一般的なユースケースです。人間のレビューアがコードを読む前に、Claude Codeが構文チェック、ロジックの問題、セキュリティリスクを事前に検出します。

効果:

  • レビュー待ち時間を数時間から数分に短縮
  • レビューアの負担軽減(低レベルの問題をAIが事前検出)
  • レビュー基準の統一(CLAUDE.mdに基準を記載)

パターン2: セキュリティ監査の自動化

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(安全でない直接オブジェクト参照)

パターン3: テスト生成の自動化

PRの差分を分析し、変更されたコードに対応するテストケースを自動生成します。

- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: $
    prompt: |
      変更されたファイルに対するユニットテストを生成してください。
      テストフレームワーク: Jest
      カバレッジ目標: 分岐カバレッジ80%以上
      テストケースには正常系・異常系・境界値を含めてください

生成されたテストは別ブランチにプッシュし、人間がレビューしてからマージするフローが安全です。

パターン4: Changelog自動生成

マージされた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

パターン5: ドキュメント同期

コードの変更に連動して、READMEやAPIドキュメントの更新を自動化します。APIの引数や戻り値が変更された場合に、ドキュメントとの不整合を検出してPRにコメントするパターンです。

パターン6: Issue自動トリアージ

新しい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は、変更ファイル数で分割してジョブを並列化するのが効果的です。

APIコストの管理

CI/CDでのClaude Code利用は、PR数に比例してAPIコストが増加します。コスト管理のポイントは以下のとおりです。

  • トリガーの制限 — 全PRではなく、特定のラベルが付いたPRのみレビュー
  • パスフィルタ — ドキュメント変更のみのPRはスキップ
  • 時間帯制限 — 営業時間内のPRのみ自動レビュー
  • 日次予算 — API利用額に日次上限を設定
  • max_turnsの制限 — 不要な往復を抑制(3〜5ターンが目安)

APIキーの管理

ANTHROPIC_API_KEY はリポジトリのSecretsまたは組織レベルのSecretsに保存します。ワークフローの入力パラメータやログに平文でキーが出力されないよう注意が必要です。StepSecurityの harden-runner を併用すれば、GitHub Actionsランナー自体のセキュリティも強化できます。

セキュリティ面の詳細な対策については、Claude Codeの企業導入セキュリティガイドを参照してください。


GitLab CI / Jenkinsでの利用

GitLab CIでの構成

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での構成

JenkinsではPipelineスクリプト内で sh ステップとしてClaude Codeを呼び出します。Jenkinsの場合、APIキーはCredentialsプラグインで管理し、withCredentials ブロック内で環境変数として注入するのが安全です。


HubSpot開発への応用

HubSpot CMS開発のCI/CD

HubSpot CMSのテーマ開発では、テンプレートやモジュールの変更をClaude Codeでレビューし、HubL(HubSpotのテンプレート言語)の構文エラーやアクセシビリティの問題を自動検出できます。

HubSpot API連携開発のCI/CD

HubSpot API連携アプリの開発では、APIレスポンスのスキーマ変更検知、エラーハンドリングのチェック、レート制限への対応漏れの検出などを自動化できます。AI駆動開発の全体像と組み合わせることで、開発プロセス全体の自動化が実現します。


実運用での活用事例

Shopifyのオープンソース開発

Shopifyは、オープンソースプロジェクトでClaude Code Actionを導入し、外部コントリビューターからのPRの初期レビューを自動化しています。CIでの自動レビューにより、メンテナの負荷を軽減しつつ、PRのフィードバックサイクルを数日から数時間に短縮しました。こうしたAI活用に関心のある方は、経営データの可視化コンテンツマーケティングの効率化の詳細もあわせてご覧ください。

Netlifyのドキュメント自動更新

Netlifyは、コードの変更に連動してドキュメントの不整合を検出するCIワークフローを構築しています。APIの変更とドキュメントのずれを自動検出し、修正PRを自動生成するパイプラインにより、ドキュメントの鮮度を維持しています。


あわせて読みたい


まとめ

本記事では、Claude CodeをCI/CDパイプラインに統合してコードレビュー・テスト・デプロイを自動化する方法について解説しました。このテーマの全記事はClaude Code実践ガイドでご覧いただけます。

ポイントを振り返ります。

  • ヘッドレスモード(-p / --print フラグ)と --no-user-prompt--allowedTools を組み合わせることで、GitHub Actions・GitLab CI・Jenkinsなど任意のCIツールでClaude Codeを安全かつ非対話的に実行できます
  • 出力フォーマットは text / json / stream-json の3種類から選択でき、後続ステップでの処理にはjson形式が推奨されます
  • 公式GitHub Action(anthropics/claude-code-action@v1)によるPRレビュー自動化は、レビュー待ち時間を数時間から数分に短縮し、レビュー基準の統一にも貢献します
  • セキュリティ監査・テスト自動生成・Changelog生成・ドキュメント同期・Issue自動トリアージなど、CI/CDで自動化できるユースケースは多岐にわたります
  • max_turns・max_tokens・timeoutの適切な設定とトリガーの制限により、実行時間とAPIコストを制御することが運用成功のポイントです

CRMを活用した業務効率化やAIとの連携に関するご相談は、CRM特化型コンサルティングのStartLinkまでお気軽にお問い合わせください。


よくある質問(FAQ)

Q1. GitHub Actions以外のCIツールでもClaude Codeを使えますか?

はい、ヘッドレスモード(-p / --print フラグ)を使えば、GitLab CI、Jenkins、CircleCI、Azure DevOpsなど、任意のCIツールで利用できます。--no-user-prompt フラグでパイプラインのブロックを防止し、--allowedTools で実行可能なツールを制限することで、安全な非対話実行が可能です。公式GitHub Actionの恩恵(PR自動コメントなど)を受けたい場合はGitHub Actionsが最も統合度が高いですが、基本的なレビュー機能はどのCIツールでも実現可能です。

Q2. CI/CDでのClaude Code利用コストはどの程度ですか?

コストはPRの規模と頻度に依存します。目安として、平均的なPR(変更行数100行程度)のレビューは1回あたり数十円程度です。1日10件のPRがある中規模チームで月額数千円〜1万円程度が一般的です。max_turnsとmax_tokensを適切に設定することでコストを制御できます。

Q3. Claude Codeの自動レビューで人間のレビューは不要になりますか?

不要にはなりません。Claude Codeの自動レビューは、人間のレビューの「補助」として位置づけるのが適切です。構文チェック、一般的なバグパターン、セキュリティリスクの検出はAIが得意ですが、ビジネスロジックの妥当性やアーキテクチャ判断は人間の判断が必要です。AIが低レベルの問題を事前に処理することで、人間のレビューアが設計やロジックに集中できるようになります。

Q4. プライベートリポジトリのコードがAnthropicに送信されるのはセキュリティ上問題ないですか?

Anthropicの標準ポリシーでは、API経由で送信されたコードはモデル学習に使用されません。Enterpriseプランではゼロデータリテンション(ZDR)が契約で保証されます。さらに懸念がある場合は、サンドボックスのネットワーク隔離でAnthropicのAPIエンドポイント以外への通信をブロックする構成が推奨されます。

Q5. 既存のCIパイプラインにClaude Codeを追加する場合、どの程度の工数がかかりますか?

GitHub Actionsの場合、基本的なPRレビュー自動化は30分〜1時間程度で導入できます。/install-github-app コマンドで自動セットアップすれば、ワークフローYAMLの手動記述も最小限です。カスタムレビュー基準の設定やパス別のルール設計を含めても、1〜2日あれば実運用に耐える構成を構築できます。

Q6. --output-formatのjsonとstream-jsonの使い分けは?

json は処理完了後に全結果を一括で出力するため、jq などでの後処理やパイプラインの後続ステップへのデータ受け渡しに適しています。stream-json はトークン単位でリアルタイムに出力されるため、長時間の処理中に進捗を確認したい場合や、ストリーミングで結果を表示するダッシュボードとの連携に適しています。通常のCI/CDパイプラインでは json を選択するのが無難です。


株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。

関連キーワード:

サービス資料を無料DL

著者情報

7-1

今枝 拓海 / Takumi Imaeda

株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。