Claude Code CI/CD 統合ガイド — GitHub Actions
Claude Code を GitHub Actions と統合することで、プルリクエストの自動レビュー、Issue への対応、コード生成を GitHub ワークフロー内で直接実現できます。ここでクイックセットアップから本番環境向けの高度な設定まで、すべてをカバーしています。
概要
Claude Code GitHub Actions 統合により、以下が可能になります:
- 自動 PR レビュー: Claude がプルリクエストをレビューし、知的なフィードバックを提供
- Issue 自動対応: Issue に自動で応答し、ソリューション案を生成
- コード自動生成: Issue の説明やコメントに基づいてコードを作成
- 知的なコメント: PR コメント内で @claude をメンションして分析をトリガー
- 複数モデル対応: AWS Bedrock および Google Vertex AI の統合に対応
統合は公式の anthropics/claude-code-action@v1 GitHub Action を使用し、プルリクエスト、Issue コメント、PR レビューコメントなど複数のトリガーに対応しています。
Claude CLI でのクイックセットアップ
最速でセットアップを完了するには、Claude CLI の専用コマンドを使用します。
前提条件
- GitHub リポジトリへの管理者アクセス権
- Anthropic API キー(console.anthropic.com から取得)
- Claude CLI がインストール済み
インストール手順
以下のコマンドを実行します:
/install-github-appこのコマンドが自動で以下を実行します:
- Claude GitHub App をリポジトリにインストール
- 必要な
ANTHROPIC_API_KEYシークレットを作成 - デフォルト設定で基本的なワークフロー ファイルをセットアップ
- Contents、Issues、Pull Requests のリポジトリ権限を設定
実行後、PR レビュー、Issue コメント、PR レビューコメントへの対応がすぐに開始します。
ヒント: クイックセットアップはほとんどのプロジェクトに最適化されたデフォルト パラメータを使用します。高度な設定については、手動セットアップセクションを参照してください。
手動セットアップ
より詳細な制御が必要な場合やトラブルシューティングが必要な場合は、以下の手動セットアップ手順に従ってください。
ステップ 1: Claude GitHub App をインストール
- Claude GitHub App インストール ページにアクセス
- GitHub アカウントまたはオーガナイゼーションを選択
- Claude Code を使用するリポジトリを選択
- 必要な権限を付与(下記「権限」セクション参照)
- インストールを完了
ステップ 2: API キー シークレットを追加
- リポジトリ設定を開く
- Secrets and variables → Actions に移動
- New repository secret をクリック
- 名前を
ANTHROPIC_API_KEYに設定 - console.anthropic.com から取得した API キーを貼り付け
- Add secret をクリック
セキュリティに関する注意: API キーをリポジトリにコミットしないでください。常に GitHub シークレットを使用して機密情報を保護してください。
ステップ 3: ワークフロー ファイルを作成
リポジトリに .github/workflows/claude-code.yml ファイルを作成します:
name: Claude Code Integration
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
pull_request:
types: [opened, synchronize]
jobs:
claude-code:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Run Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
trigger_phrase: '@claude'
claude_args: '--max-turns=5'このファイルをメイン ブランチにコミットして、統合を有効にします。
リポジトリ権限
Claude Code GitHub Action が正常に機能するには、特定の権限が必要です。ワークフロー ファイルまたはリポジトリ設定で設定します。
| 権限 | レベル | 用途 |
|---|---|---|
| Contents | 読み取り/書き込み | リポジトリ ファイルへのアクセスと修正、コード生成 |
| Issues | 読み取り/書き込み | Issue へのコメント投稿と Issue ラベル作成 |
| Pull Requests | 読み取り/書き込み | PR のレビュー、コメント投稿、変更提案 |
| Discussions | 読み取り/書き込み | オプション:リポジトリ ディスカッションへの参加 |
ワークフロー内に正しい権限ブロックを含めてください:
permissions:
contents: read
issues: write
pull-requests: writeワークフロー トリガー
Claude Code Action は複数のトリガー タイプに対応しています。これらを理解することで、Claude がリポジトリにいつ関与するかを最適化できます。
トリガー タイプ
Issue コメント (issue_comment)
- Issue に誰かがコメントを投稿したときに発動
@claudeメンションを使用して分析やコード生成をリクエスト- 追加の議論や質問に対する対応に最適
PR レビューコメント (pull_request_review_comment)
- PR の差分に対するコメントで発動
- Claude が特定のコードセクションに対するコメントに応答可能
- 特定のコード部分への対象的なフィードバックを実現
PR イベント (pull_request)
- PR が開かれたまたは更新されたときに実行
- 自動 PR レビューに最適
branchesフィルタで特定ブランチの実行を限定可能
例:条件付きトリガー
on:
pull_request:
types: [opened, synchronize]
branches:
- main
- develop
issue_comment:
types: [created]設定パラメータ
Claude Code Action は複数のパラメータをサポートし、動作と機能をカスタマイズできます。
パラメータ リファレンス表
| パラメータ | タイプ | デフォルト | 説明 |
|---|---|---|---|
anthropic_api_key | 文字列 | — | Anthropic API キー(シークレット使用) |
prompt | 文字列 | — | Claude 用のカスタム システム プロンプト |
claude_args | 文字列 | --max-turns=3 | 追加の Claude CLI 引数 |
trigger_phrase | 文字列 | @claude | Claude の応答をトリガーする単語/フレーズ |
use_bedrock | ブール値 | false | モデル推論に AWS Bedrock を使用 |
use_vertex | ブール値 | false | モデル推論に Google Vertex AI を使用 |
max_turns | 整数 | 3 | 許可される最大会話ターン数 |
パラメータ例
AWS Bedrock を使用:
- name: Run Claude Code with Bedrock
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
use_bedrock: true
claude_args: '--model=bedrock-claude-3-sonnet --max-turns=5'Google Vertex AI を使用:
- name: Run Claude Code with Vertex AI
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
use_vertex: true
claude_args: '--model=vertex-claude-3-opus --max-turns=8'カスタム システム プロンプト:
- name: Run Claude Code with Custom Prompt
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "セキュリティとパフォーマンスに焦点を当てたコード レビュー専門家です。"一般的なユースケース
PR 自動レビュー
PR をコード品質、セキュリティ、ベストプラクティスで自動レビュー:
name: Automated PR Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Review with Claude
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
このコードを以下の点でレビューしてください:
1. セキュリティ脆弱性
2. パフォーマンスの問題
3. コード スタイルとベストプラクティス
4. テスト カバレッジIssue 自動対応
新しい Issue に自動で分析と解決案を提供:
name: Issue Response
on:
issues:
types: [opened]
jobs:
respond:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Analyze and Respond
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
この GitHub Issue を分析し、以下を提供してください:
1. 根本原因の分析
2. 提案されるソリューション
3. 影響を受けるコンポーネントIssue からのコード生成
機能リクエストに基づいてコード実装を生成:
name: Code Generation
on:
issue_comment:
types: [created]
jobs:
generate:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
steps:
- name: Generate Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
trigger_phrase: '/generate'
prompt: "本番環境対応のコードを完全なテスト カバレッジ付きで生成してください"/review スキル
/review スキルはコメント内でメンションされた場合、PR レビューの特殊な機能を提供します:
@claude /review
呼び出されると、Claude は以下を実行します:
- PR で変更されたすべてのファイルを分析
- 各変更に対する詳細なフィードバックを提供
- 改善点と代替案を提案
- 潜在的なバグとエッジケースをチェック
- プロジェクト標準への準拠を確認
/review を効果的に使用
PR にコメント:
@claude /review --focus=security,performance
追加のフォーカス オプション:
security: 脆弱性をチェックperformance: 最適化の機会を特定tests: テスト カバレッジを評価documentation: コード ドキュメントを確認all: 包括的なレビュー(デフォルト)
Issue からの PR 作成
リクエスト時に Issue から直接プルリクエストを作成できます:
@claude /create-pr "ユーザー認証システムの実装"
このワークフローは以下を実行します:
- Issue からフィーチャー ブランチを作成
- Issue 要件に基づいてコードを生成
- 生成されたコードで PR を作成
- PR を元の Issue にリンク
- 初期テストとチェックを実行
環境別設定
開発ワークフロー
name: Development Workflow
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude-assist:
runs-on: ubuntu-latest
if: github.event.issue.draft == false
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Assist with Development
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: '--max-turns=8 --model=claude-opus-4'
trigger_phrase: '@claude'本番環境向けレビュー ワークフロー
name: Production Review
on:
pull_request:
types: [opened, synchronize]
branches:
- main
- production
jobs:
strict-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Strict Code Review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: '--max-turns=3 --strict-mode'
prompt: |
本番環境コード レビュー担当者です。
以下が識別された場合はマージをブロックしてください:
- セキュリティ脆弱性
- パフォーマンス低下
- 破壊的な API 変更
- クリティカル パスのテスト不足ベストプラクティス
1. CLAUDE.md ファイルを使用
リポジトリ ルートに CLAUDE.md ファイルを作成してコンテキストを提供:
# CLAUDE.md
## プロジェクト概要
- **名前**: MyApp
- **言語**: TypeScript
- **フレームワーク**: Next.js
## コード標準
- フック付き関数型コンポーネントを使用
- ESLint 設定に厳密に従う
- 80% 以上のテスト カバレッジを維持
- すべてのパブリック API をドキュメント化
## アーキテクチャ決定
- Redux を使用したストア サービス
- `/api` ディレクトリ内の API ルート
- データベース:Prisma ORM 付き PostgreSQL
## 共通コマンド
- `npm run dev`: 開発サーバーを開始
- `npm test`: テスト スイートを実行
- `npm run build`: 本番ビルドを作成Claude はこのファイルを参照して、プロジェクト標準との整合性を保ちます。
2. シークレットをコミットしない
API キーには常に GitHub シークレットを使用:
# ✅ 正しい方法
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# ❌ キーをハードコーディングしない
with:
anthropic_api_key: sk-ant-xxxxx3. ターン数を制限
API コストを制御するために適切な --max-turns 値を設定:
# クイック チェック用
claude_args: '--max-turns=2'
# 詳細な分析用
claude_args: '--max-turns=5'
# 複雑な生成用
claude_args: '--max-turns=8'4. 並行制御を使用
複数の実行の競合を防止:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true5. API 使用状況を監視
Claude のアクティビティをログして監視:
- name: Claude Code Review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
env:
CLAUDE_LOG_LEVEL: verbose6. レート制限を実装
API クォータを保護:
- name: Rate-Limited Claude Review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: '--rate-limit=10-per-hour'7. 条件付きワークフローを使用
関連する変更にのみ Claude を実行:
jobs:
claude-review:
if: |
contains(github.event.pull_request.labels.*.name, 'needs-review') ||
contains(github.event.issue.labels.*.name, 'code-generation')
runs-on: ubuntu-latest
# ... ジョブの残り部分トラブルシューティング
Claude が応答しない
問題: @claude メンションを含むコメントが応答をトリガーしていません。
解決策:
ANTHROPIC_API_KEYシークレットが正しく設定されていることを確認- ワークフロー ファイルがデフォルト ブランチにあることを確認
- ワークフロー権限に
issues: writeとpull-requests: writeが含まれていることを確認 - リポジトリ設定で GitHub Actions が有効になっていることを確認
API キーエラー
問題: 「無効な API キー」または「認証失敗」エラー。
解決策:
- console.anthropic.com で API キーがアクティブであることを確認
- シークレット名がワークフロー内と完全に一致していることを確認
- 不確実な場合は API キーを再生成
- 誤ったスペースや特殊文字がないことを確認
レート制限
問題: Claude が頻繁にレート制限に達します。
解決策:
--max-turnsを削減して API 呼び出しを低減- ワークフロー並行制御を実装
- トリガー条件間に遅延を追加
- Bedrock の使用を検討(制限が高い)
権限エラー
問題: ログに「権限不足」エラーが表示されます。
解決策:
- ワークフロー ファイルの権限ブロックを確認
- オーガナイゼーション レベルの制限を確認
- アプリに必要な GitHub 権限があることを確認
- ブランチ保護ルール設定を確認
高度な統合パターン
複数モデルの比較
異なる目的に異なるモデルを使用:
jobs:
quick-review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: '--model=claude-3-haiku'
detailed-review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: '--model=claude-opus-4'マルチクラウド デプロイメント
異なるインフラストラクチャ プロバイダーを活用:
steps:
- name: Review with Bedrock
uses: anthropics/claude-code-action@v1
if: github.actor == 'trusted-user'
with:
use_bedrock: true
- name: Review with Vertex
uses: anthropics/claude-code-action@v1
if: github.actor != 'trusted-user'
with:
use_vertex: true監視と分析
Claude アクティビティの追跡
Claude の使用方法を監視:
- name: Claude Code Review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
env:
ANALYTICS_ENDPOINT: ${{ secrets.ANALYTICS_URL }}インパクト測定
以下のようなメトリクスを追跡:
- Issue から PR 作成までの平均時間
- コード レビューのターンアラウンド タイム
- バグ検出率の向上
- 開発者満足度スコア
全体を振り返って
Claude Code の GitHub Actions 統合は、AI を活用した自動化を開発ワークフローにもたらします。クイックセットアップで即座に効果を得てから、チームのニーズに応じて高度な設定を探索してください。
必ず以下を実施してください:
- API キーをセキュアに保管
- API 使用状況とコストを監視
- CLAUDE.md で明確なコンテキストを提供
- 開発ブランチで設定をテスト
- マージ前に Claude の出力をレビュー
詳細については、Claude ドキュメントまたは GitHub リポジトリをご覧ください。