Anthropic ClaudeDevOps・インフラ⭐ リポ 299品質スコア 84/100
ci-cd-integration
CI/CD統合 - GitHub Actions、自動化、パイプライン統合 GitHub ActionsなどのCI/CDツールと連携して、アプリケーションのビルド、テスト、デプロイメントを自動化できます。パイプライン統合により、コードの変更から本番環境への反映まで一連のプロセスを効率化し、リリースサイクルを短縮します。開発チームの生産性向上と人的ミスの削減を実現できます。
description の原文を見る
CI/CD integration - GitHub Actions, automation, pipeline integration
SKILL.md 本文
CI/CD インテグレーション
Claude Code を CI/CD パイプラインに統合して、自動化されたコードレビュー、テスト、品質ゲート、リリース自動化を実行します。
クイックリファレンス
| インテグレーション | ツール | ユースケース |
|---|---|---|
| GitHub Actions | claude -p | 自動化された PR レビュー、テスト修正 |
| Pre-commit | hooks | プッシュ前のローカル検証 |
| Quality Gates | Claude API | PR 承認要件 |
| Release Automation | headless モード | チェンジログ、バージョニング |
コアコンセプト
Claude Code のヘッドレスモード(-p フラグ)は、CI パイプラインでの非対話的な実行を可能にします。GitHub Actions と hooks と組み合わせることで、コードレビュー、テスト、リリースワークフローを自動化できます。
# 基本的な CI 使用方法
claude -p "Review this PR diff for issues" --output-format json
GitHub Actions の基本
最小限のワークフロー
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
gh pr diff ${{ github.event.pull_request.number }} | \
claude -p "Review this diff for bugs and improvements" \
--output-format json > review.json
重要な環境変数
| 変数 | 目的 |
|---|---|
ANTHROPIC_API_KEY | API 認証 |
GITHUB_TOKEN | GitHub API アクセス(自動提供) |
CI=true | CI 環境を示す |
完全なワークフロー例は GITHUB-ACTIONS.md を参照してください。
Pre-commit インテグレーション
クイックセットアップ
# .pre-commit-config.yaml
repos:
- repo: local
hooks:
- id: claude-review
name: Claude Code Review
entry: claude -p "Check this diff for obvious issues" --max-turns 1
language: system
stages: [pre-commit]
pass_filenames: false
ステージされたファイルのレビュー
#!/bin/bash
# .git/hooks/pre-commit
staged_files=$(git diff --cached --name-only)
if [ -n "$staged_files" ]; then
git diff --cached | claude -p "Quick review of staged changes. Report only critical issues." \
--max-turns 1 --output-format text
fi
詳細な自動化パターンは AUTOMATION.md を参照してください。
品質ゲート
PR 承認ゲート
- name: Quality Gate
run: |
result=$(claude -p "Analyze PR #${{ github.event.pull_request.number }} \
for security issues, breaking changes, and test coverage. \
Output JSON: {\"approved\": boolean, \"blockers\": string[]}" \
--output-format json --json-schema '...')
if [ "$(echo $result | jq -r '.structured_output.approved')" != "true" ]; then
echo "Quality gate failed"
exit 1
fi
テストカバレッジゲート
- name: Coverage Analysis
run: |
bun test --coverage > coverage.txt
claude -p "Analyze coverage report. Fail if coverage < 80% \
or critical paths uncovered." < coverage.txt
パイプラインインテグレーションパターンは PIPELINES.md を参照してください。
自動レビューワークフロー
標準的な PR レビュー
name: Automated PR Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get PR Diff
run: gh pr diff ${{ github.event.pull_request.number }} > diff.txt
env:
GH_TOKEN: ${{ github.token }}
- name: Claude Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
review=$(claude -p "Review this PR diff. Focus on:
- Security vulnerabilities
- Logic errors
- Performance issues
- Missing error handling
Format as markdown with sections." < diff.txt)
gh pr comment ${{ github.event.pull_request.number }} --body "$review"
env:
GH_TOKEN: ${{ github.token }}
テスト自動化
失敗したテストの修正
- name: Run Tests
id: tests
continue-on-error: true
run: bun test 2>&1 | tee test-output.txt
- name: Fix Failing Tests
if: steps.tests.outcome == 'failure'
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "Fix the failing tests. Test output:
$(cat test-output.txt)
Make minimal changes to fix the tests." \
--allowedTools "Read,Edit,Bash(bun test:*)"
欠落しているテストの生成
- name: Generate Tests for Changed Files
run: |
changed_files=$(git diff --name-only origin/main...HEAD -- '*.ts' '*.tsx')
for file in $changed_files; do
claude -p "Generate comprehensive tests for $file if none exist" \
--allowedTools "Read,Write,Glob"
done
リリース自動化
チェンジログ生成
- name: Generate Changelog
run: |
claude -p "Generate changelog from commits since last release:
$(git log $(git describe --tags --abbrev=0)..HEAD --oneline)
Format: Conventional changelog with Breaking, Features, Fixes sections." \
--output-format text > CHANGELOG_ENTRY.md
バージョンバンプ
- name: Determine Version Bump
run: |
bump=$(claude -p "Analyze commits since last tag. Output only: major, minor, or patch
$(git log $(git describe --tags --abbrev=0)..HEAD --oneline)" \
--output-format text)
npm version $bump --no-git-tag-version
セキュリティスキャン
コードセキュリティレビュー
- name: Security Scan
run: |
claude -p "Security audit of changes in this PR:
$(gh pr diff ${{ github.event.pull_request.number }})
Check for:
- SQL injection
- XSS vulnerabilities
- Hardcoded secrets
- Insecure dependencies
- Authentication issues
Output JSON: {\"secure\": boolean, \"issues\": [{\"severity\": string, \"description\": string, \"line\": number}]}" \
--output-format json > security.json
ベストプラクティス
CI パフォーマンス
| プラクティス | メリット |
|---|---|
--max-turns 1-3 を使用 | 予測可能な実行時間 |
--allowedTools でツールを制限 | 高速で安全な実行 |
| Claude インストールをキャッシュ | ワークフロー開始が高速 |
--output-format json を使用 | 信頼性の高い解析 |
セキュリティ
| プラクティス | 実装方法 |
|---|---|
| API キーをシークレットとして保存 | ${{ secrets.ANTHROPIC_API_KEY }} |
| ツール権限を制限 | --allowedTools "Read,Grep" |
--dangerously-skip-permissions を使用しない | 明示的なツールリストを使用 |
| Claude の出力を検証 | JSON を解析し、構造をチェック |
コスト管理
| プラクティス | メリット |
|---|---|
| レビュー前にファイルをフィルタ | トークン削減 |
| ターゲット化されたプロンプトを使用 | 焦点を絞った分析 |
--max-turns を設定 | 実行を制限 |
| 生成されたファイルをスキップ | ノイズ削減 |
よくあるパターン
条件付きレビュー
- name: Check for High-Risk Changes
id: risk
run: |
if gh pr diff ${{ github.event.pull_request.number }} | grep -q "security\|auth\|password"; then
echo "high_risk=true" >> $GITHUB_OUTPUT
fi
- name: Deep Security Review
if: steps.risk.outputs.high_risk == 'true'
run: claude -p "Deep security review..." --max-turns 5
マルチステージレビュー
jobs:
quick-check:
runs-on: ubuntu-latest
steps:
- name: Fast Lint Check
run: claude -p "Quick lint check" --max-turns 1
deep-review:
needs: quick-check
runs-on: ubuntu-latest
steps:
- name: Comprehensive Review
run: claude -p "Full code review" --max-turns 5
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| API キーが見つからない | secrets.ANTHROPIC_API_KEY が設定されているか確認 |
| CI でのタイムアウト | --max-turns 制限を追加 |
| アクセス許可の拒否 | skip-permissions の代わりに --allowedTools を使用 |
| JSON 解析エラー | jq を使用して出力を検証 |
| PR コメント失敗 | permissions: pull-requests: write を確認 |
リファレンスファイル
| ファイル | 内容 |
|---|---|
| GITHUB-ACTIONS.md | 完全な GitHub Actions ワークフロー |
| AUTOMATION.md | Pre-commit、スケジュール実行、トリガー |
| PIPELINES.md | パイプラインインテグレーション、品質ゲート |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- majiayu000
- ライセンス
- MIT
- 最終更新
- 2026/5/4
Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT