mcpField
G
github-release-management

github-release-management

github.com/ruvnetクラウド・DevOps80.0k1.2k 回インストール今日更新
リポジトリ

github-release-management について

github-release-managementは、ソフトウェアリリースを計画・調整するClaude Codeスキルです。バージョン管理、検証、ビルド、デプロイ、ドキュメント、ロールバックを扱い、複数パッケージやリポジトリのリリースにも対応します。

主な機能

  1. 01セマンティックバージョンの分析と提案
  2. 02コミットからの破壊的変更検出
  3. 03リリーステストと検証のオーケストレーション
  4. 04ビルドと段階的デプロイの調整
  5. 05変更履歴とリリースノートの生成
  6. 06ロールバックとリリース監視のワークフロー

活用シーン

  1. 01コミットを基にGitHubリリースを準備
  2. 02公開前にビルドとテストを検証
  3. 03複数パッケージやリポジトリのリリースを調整
  4. 04段階的デプロイとロールバックを実施

MCP 対応

このスキルでは、リリースワークフローでClaude Flow MCPツールによるswarmの初期化とタスクのオーケストレーションを例示しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ruvnet/ruflo --skill github-release-management

インストール後、Claude Code で/github-release-managementを入力して読み込まれたか確認します。

詳細

GitHub リリース管理スキル

AI スウォームを活用したインテリジェントなリリース自動化とオーケストレーションにより、変更履歴の生成からロールバック機能を備えたマルチプラットフォームへのデプロイまで、包括的なソフトウェアリリースを実現します。

クイックスタート

シンプルなリリースフロー
# Plan and create a release
gh release create v2.0.0 \
  --draft \
  --generate-notes \
  --title "Release v2.0.0"

# Orchestrate with swarm
npx claude-flow github release-create \
  --version "2.0.0" \
  --build-artifacts \
  --deploy-targets "npm,docker,github"
完全自動化されたリリース
# Initialize release swarm
npx claude-flow swarm init --topology hierarchical

# Execute complete release pipeline
npx claude-flow sparc pipeline "Release v2.0.0 with full validation"

主な機能

1. リリース計画とバージョン管理
  • セマンティックバージョンの分析と提案
  • コミットからの破壊的変更の検出
  • リリースタイムラインの生成
  • 複数パッケージのバージョン調整
2. テストと検証の自動化
  • 複数段階のテストオーケストレーション
  • クロスプラットフォーム互換性テスト
  • パフォーマンスのリグレッション検出
  • セキュリティ脆弱性のスキャン
3. ビルドとデプロイのオーケストレーション
  • マルチプラットフォームのビルド調整
  • アーティファクトの並列生成
  • 段階的なデプロイ戦略
  • 自動ロールバックの仕組み
4. ドキュメントとコミュニケーション
  • 変更履歴の自動生成
  • カテゴリ分けされたリリースノート
  • 移行ガイドの作成
  • ステークホルダーへの通知

段階的な詳細表示:レベル 1 - 基本的な使い方

必須のリリースコマンド
リリースの下書きを作成
# Get last release tag
LAST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName')

# Generate changelog from commits
CHANGELOG=$(gh api repos/:owner/:repo$compare/${LAST_TAG}...HEAD \
  --jq '.commits[].commit.message')

# Create draft release
gh release create v2.0.0 \
  --draft \
  --title "Release v2.0.0" \
  --notes "$CHANGELOG" \
  --target main
基本的なバージョン更新
# Update package.json version
npm version patch  # or minor, major

# Push version tag
git push --follow-tags
シンプルなデプロイ
# Build and publish npm package
npm run build
npm publish

# Create GitHub release
gh release create $(npm pkg get version) \
  --generate-notes
クイック統合の例
// Simple release preparation in Claude Code
[Single Message]:
  // Update version files
  Edit("package.json", { old: '"version": "1.0.0"', new: '"version": "2.0.0"' })

  // Generate changelog
  Bash("gh api repos/:owner/:repo$compare$v1.0.0...HEAD --jq '.commits[].commit.message' > CHANGELOG.md")

  // Create release branch
  Bash("git checkout -b release$v2.0.0")
  Bash("git add -A && git commit -m 'release: Prepare v2.0.0'")

  // Create PR
  Bash("gh pr create --title 'Release v2.0.0' --body 'Automated release preparation'")

段階的な詳細表示:レベル 2 - スウォームの調整

AI スウォームによるリリースオーケストレーション
リリーススウォームを初期化
// Set up coordinated release team
[Single Message - Swarm Initialization]:
  mcp__claude-flow__swarm_init {
    topology: "hierarchical",
    maxAgents: 6,
    strategy: "balanced"
  }

  // Spawn specialized agents
  mcp__claude-flow__agent_spawn { type: "coordinator", name: "Release Director" }
  mcp__claude-flow__agent_spawn { type: "coder", name: "Version Manager" }
  mcp__claude-flow__agent_spawn { type: "tester", name: "QA Engineer" }
  mcp__claude-flow__agent_spawn { type: "reviewer", name: "Release Reviewer" }
  mcp__claude-flow__agent_spawn { type: "analyst", name: "Deployment Analyst" }
  mcp__claude-flow__agent_spawn { type: "researcher", name: "Compatibility Checker" }
調整されたリリースワークフロー
[Single Message - Full Release Coordination]:
  // Create release branch
  Bash("gh api repos/:owner/:repo$git$refs --method POST -f ref='refs$heads$release$v2.0.0' -f sha=$(gh api repos/:owner/:repo$git$refs$heads$main --jq '.object.sha')")

  // Orchestrate release preparation
  mcp__claude-flow__task_orchestrate {
    task: "Prepare release v2.0.0 with comprehensive testing and validation",
    strategy: "sequential",
    priority: "critical",
    maxAgents: 6
  }

  // Update all release files
  Write("package.json", "[updated version]")
  Write("CHANGELOG.md", "[release changelog]")
  Write("RELEASE_NOTES.md", "[detailed notes]")

  // Run comprehensive validation
  Bash("npm install && npm test && npm run lint && npm run build")

  // Create release PR
  Bash(`gh pr create \
    --title "Release v2.0.0: Feature Set and Improvements" \
    --head "release$v2.0.0" \
    --base "main" \
    --body "$(cat RELEASE_NOTES.md)"`)

  // Track progress
  TodoWrite { todos: [
    { content: "Prepare release branch", status: "completed", priority: "critical" },
    { content: "Run validation suite", status: "completed", priority: "high" },
    { content: "Create release PR", status: "completed", priority: "high" },
    { content: "Code review approval", status: "pending", priority: "high" },
    { content: "Merge and deploy", status: "pending", priority: "critical" }
  ]}

  // Store release state
  mcp__claude-flow__memory_usage {
    action: "store",
    key: "release$v2.0.0$status",
    value: JSON.stringify({
      version: "2.0.0",
      stage: "validation_complete",
      timestamp: Date.now(),
      ready_for_review: true
    })
  }
リリースエージェントの専門分野
変更履歴エージェント
# Get merged PRs between versions
PRS=$(gh pr list --state merged --base main --json number,title,labels,author,mergedAt \
  --jq ".[] | select(.mergedAt > \"$(gh release view v1.0.0 --json publishedAt -q .publishedAt)\")")

# Get commit history
COMMITS=$(gh api repos/:owner/:repo$compare$v1.0.0...HEAD \
  --jq '.commits[].commit.message')

# Generate categorized changelog
npx claude-flow github changelog \
  --prs "$PRS" \
  --commits "$COMMITS" \
  --from v1.0.0 \
  --to HEAD \
  --categorize \
  --add-migration-guide

機能:

  • セマンティックコミットの分析
  • 破壊的変更の検出
  • 貢献者の特定
  • 移行ガイドの生成
  • 多言語サポート
バージョンエージェント
# Intelligent version suggestion
npx claude-flow github version-suggest \
  --current v1.2.3 \
  --analyze-commits \
  --check-compatibility \
  --suggest-pre-release

ロジック:

  • コミットメッセージと PR ラベルを分析
  • キーワードから破壊的変更を検出
  • 適切なバージョン更新を提案
  • プレリリースのバージョン管理
  • バージョン制約を検証
ビルドエージェント
# Multi-platform build coordination
npx claude-flow github release-build \
  --platforms "linux,macos,windows" \
  --architectures "x64,arm64" \
  --parallel \
  --optimize-size

機能:

  • クロスプラットフォームコンパイル
  • ビルドの並列実行
  • アーティファクトの最適化と圧縮
  • 依存関係のバンドル
  • ビルドのキャッシュと再利用
テストエージェント
# Comprehensive pre-release testing
npx claude-flow github release-test \
  --suites "unit,integration,e2e,performance" \
  --environments "node:16,node:18,node:20" \
  --fail-fast false \
  --generate-report
デプロイエージェント
# Multi-target deployment orchestration
npx claude-flow github release-deploy \
  --targets "npm,docker,github,s3" \
  --staged-rollout \
  --monitor-metrics \
  --auto-rollback

段階的な詳細表示:レベル 3 - 高度なワークフロー

複数パッケージのリリース調整
モノレポのリリース戦略
[Single Message - Multi-Package Release]:
  // Initialize mesh topology for cross-package coordination
  mcp__claude-flow__swarm_init { topology: "mesh", maxAgents: 8 }

  // Spawn package-specific agents
  Task("Package A Manager", "Coordinate claude-flow package release v1.0.72", "coder")
  Task("Package B Manager", "Coordinate ruv-swarm package release v1.0.12", "coder")
  Task("Integration Tester", "Validate cross-package compatibility", "tester")
  Task("Version Coordinator", "Align dependencies and versions", "coordinator")

  // Update all packages simultaneously
  Write("packages$claude-flow$package.json", "[v1.0.72 content]")
  Write("packages$ruv-swarm$package.json", "[v1.0.12 content]")
  Write("CHANGELOG.md", "[consolidated changelog]")

  // Run cross-package validation
  Bash("cd packages$claude-flow && npm install && npm test")
  Bash("cd packages$ruv-swarm && npm install && npm test")
  Bash("npm run test:integration")

  // Create unified release PR
  Bash(`gh pr create \
    --title "Release: claude-flow v1.0.72, ruv-swarm v1.0.12" \
    --body "Multi-package coordinated release with cross-compatibility validation"`)
段階的なデプロイ戦略
段階的ロールアウトの設定
# .github$release-deployment.yml
deployment:
  strategy: progressive
  stages:
    - name: canary
      percentage: 5
      duration: 1h
      metrics:
        - error-rate < 0.1%
        - latency-p99 < 200ms
      auto-advance: true

    - name: partial
      percentage: 25
      duration: 4h
      validation: automated-tests
      approval: qa-team

    - name: rollout
      percentage: 50
      duration: 8h
      monitor: true

    - name: full
      percentage: 100
      approval: release-manager
      rollback-enabled: true
段階的デプロイを実行
# Deploy with progressive rollout
npx claude-flow github release-deploy \
  --version v2.0.0 \
  --strategy progressive \
  --config .github$release-deployment.yml \
  --monitor-metrics \
  --auto-rollback-on-error
複数リポジトリの調整
複数リポジトリのリリース調整
# Synchronize releases across repositories
npx claude-flow github multi-release \
  --repos "frontend:v2.0.0,backend:v2.1.0,cli:v1.5.0" \
  --ensure-compatibility \
  --atomic-release \
  --synchronized \
  --rollback-all-on-failure
リポジトリ間の依存関係管理
[Single Message - Cross-Repo Release]:
  // Initialize star topology for centralized coordination
  mcp__claude-flow__swarm_init { topology: "star", maxAgents: 6 }

  // Spawn repo-specific coordinators
  Task("Frontend Release", "Release frontend v2.0.0 with API compatibility", "coordinator")
  Task("Backend Release", "Release backend v2.1.0 with breaking changes", "coordinator")
  Task("CLI Release", "Release CLI v1.5.0 with new commands", "coordinator")
  Task("Compatibility Checker", "Validate cross-repo compatibility", "researcher")

  // Coordinate version updates across repos
  Bash("gh api repos$org$frontend$dispatches --method POST -f event_type='release' -F client_payload[version]=v2.0.0")
  Bash("gh api repos$org$backend$dispatches --method POST -f event_type='release' -F client_payload[version]=v2.1.0")
  Bash("gh api repos$org$cli$dispatches --method POST -f event_type='release' -F client_payload[version]=v1.5.0")

  // Monitor all releases
  mcp__claude-flow__swarm_monitor { interval: 5, duration: 300 }
ホットフィックスの緊急手順
緊急ホットフィックスのワークフロー
# Fast-track critical bug fix
npx claude-flow github emergency-release \
  --issue 789 \
  --severity critical \
  --target-version v1.2.4 \
  --cherry-pick-commits \
  --bypass-checks security-only \
  --fast-track \
  --notify-all
自動ホットフィックスのプロセス
[Single Message - Emergency Hotfix]:
  // Create hotfix branch from last stable release
  Bash("git checkout -b hotfix$v1.2.4 v1.2.3")

  // Cherry-pick critical fixes
  Bash("git cherry-pick abc123def")

  // Fast validation
  Bash("npm run test:critical && npm run build")

  // Create emergency release
  Bash(`gh release create v1.2.4 \
    --title "HOTFIX v1.2.4: Critical Security Patch" \
    --notes "Emergency release addressing CVE-2024-XXXX" \
    --prerelease=false`)

  // Immediate deployment
  Bash("npm publish --tag hotfix")

  // Notify stakeholders
  Bash(`gh issue create \
    --title "🚨 HOTFIX v1.2.4 Deployed" \
    --body "Critical security patch deployed. Please update immediately." \
    --label "critical,security,hotfix"`)

段階的な詳細表示:レベル 4 - エンタープライズ機能

リリース設定の管理
包括的なリリース設定
# .github$release-swarm.yml
version: 2.0.0

release:
  versioning:
    strategy: semantic
    breaking-keywords: ["BREAKING", "BREAKING CHANGE", "!"]
    feature-keywords: ["feat", "feature"]
    fix-keywords: ["fix", "bugfix"]

  changelog:
    sections:
      - title: "🚀 Features"
        labels: ["feature", "enhancement"]
        emoji: true
      - title: "🐛 Bug Fixes"
        labels: ["bug", "fix"]
      - title: "💥 Breaking Changes"
        labels: ["breaking"]
        highlight: true
      - title: "📚 Documentation"
        labels: ["docs", "documentation"]
      - title: "⚡ Performance"
        labels: ["performance", "optimization"]
      - title: "🔒 Security"
        labels: ["security"]
        priority: critical

  artifacts:
    - name: npm-package
      build: npm run build
      test: npm run test:all
      publish: npm publish
      registry: https:/$registry.npmjs.org

    - name: docker-image
      build: docker build -t app:$VERSION .
      test: docker run app:$VERSION npm test
      publish: docker push app:$VERSION
      platforms: [linux$amd64, linux$arm64]

    - name: binaries
      build: .$scripts$build-binaries.sh
      platforms: [linux, macos, windows]
      architectures: [x64, arm64]
      upload: github-release
      sign: true

  validation:
    pre-release:
      - lint: npm run lint
      - typecheck: npm run typecheck
      - unit-tests: npm run test:unit
      - integration-tests: npm run test:integration
      - security-scan: npm audit
      - license-check: npm run license-check

    post-release:
      - smoke-tests: npm run test:smoke
      - deployment-validation: .$scripts$validate-deployment.sh
      - performance-baseline: npm run benchmark

  deployment:
    environments:
      - name: staging
        auto-deploy: true
        validation: npm run test:e2e
        approval: false

      - name: production
        auto-deploy: false
        approval-required: true
        approvers: ["release-manager", "tech-lead"]
        rollback-enabled: true
        health-checks:
          - endpoint: $health
            expected: 200
            timeout: 30s

  monitoring:
    metrics:
      - error-rate: <1%
      - latency-p95: <500ms
      - availability: >99.9%
      - memory-usage: <80%

    alerts:
      - type: slack
        channel: releases
        on: [deploy, rollback, error]
      - type: email
        recipients: ["[email protected]"]
        on: [critical-error, rollback]
      - type: pagerduty
        service: production-releases
        on: [critical-error]

  rollback:
    auto-rollback:
      triggers:
        - error-rate > 5%
        - latency-p99 > 2000ms
        - availability < 99%
      grace-period: 5m

    manual-rollback:
      preserve-data: true
      notify-users: true
      create-incident: true
高度なテスト戦略
包括的な検証スイート
# Pre-release validation with all checks
npx claude-flow github release-validate \
  --checks "
    version-conflicts,
    dependency-compatibility,
    api-breaking-changes,
    security-vulnerabilities,
    performance-regression,
    documentation-completeness,
    license-compliance,
    backwards-compatibility
  " \
  --block-on-failure \
  --generate-report \
  --upload-results
後方互換性テスト
# Test against previous versions
npx claude-flow github compat-test \
  --previous-versions "v1.0,v1.1,v1.2" \
  --api-contracts \
  --data-migrations \
  --integration-tests \
  --generate-report
パフォーマンスのリグレッション検出
# Benchmark against baseline
npx claude-flow github performance-test \
  --baseline v1.9.0 \
  --candidate v2.0.0 \
  --metrics "throughput,latency,memory,cpu" \
  --threshold 5% \
  --fail-on-regression
リリースのモニタリングと分析
リリースのリアルタイムモニタリング
# Monitor release health post-deployment
npx claude-flow github release-monitor \
  --version v2.0.0 \
  --metrics "error-rate,latency,throughput,adoption" \
  --alert-thresholds \
  --duration 24h \
  --export-dashboard
リリースの分析とインサイト
# Analyze release performance and adoption
npx claude-flow github release-analytics \
  --version v2.0.0 \
  --compare-with v1.9.0 \
  --metrics "adoption,performance,stability,feedback" \
  --generate-insights \
  --export-report
自動ロールバックの設定
# Configure intelligent auto-rollback
npx claude-flow github rollback-config \
  --triggers '{
    "error-rate": ">5%",
    "latency-p99": ">1000ms",
    "availability": "<99.9%",
    "failed-health-checks": ">3"
  }' \
  --grace-period 5m \
  --notify-on-rollback \
  --preserve-metrics
セキュリティとコンプライアンス
セキュリティスキャン
# Comprehensive security validation
npx claude-flow github release-security \
  --scan-dependencies \
  --check-secrets \
  --audit-permissions \
  --sign-artifacts \
  --sbom-generation \
  --vulnerability-report
コンプライアンス検証
# Ensure regulatory compliance
npx claude-flow github release-compliance \
  --standards "SOC2,GDPR,HIPAA" \
  --license-audit \
  --data-governance \
  --audit-trail \
  --generate-attestation

GitHub Actions の統合

完全なリリースワークフロー
# .github$workflows$release.yml
name: Intelligent Release Workflow
on:
  push:
    tags: ['v*']

jobs:
  release-orchestration:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      packages: write
      issues: write

    steps:
      - name: Checkout Repository
        uses: actions$checkout@v3
        with:
          fetch-depth: 0

      - name: Setup Node.js
        uses: actions$setup-node@v3
        with:
          node-version: '20'
          cache: 'npm'

      - name: Authenticate GitHub CLI
        run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token

      - name: Initialize Release Swarm
        run: |
          # Extract version from tag
          RELEASE_TAG=${{ github.ref_name }}
          PREV_TAG=$(gh release list --limit 2 --json tagName -q '.[1].tagName')

          # Get merged PRs for changelog
          PRS=$(gh pr list --state merged --base main --json number,title,labels,author,mergedAt \
            --jq ".[] | select(.mergedAt > \"$(gh release view $PREV_TAG --json publishedAt -q .publishedAt)\")")

          # Get commit history
          COMMITS=$(gh api repos/${{ github.repository }}$compare/${PREV_TAG}...HEAD \
            --jq '.commits[].commit.message')

          # Initialize swarm coordination
          npx claude-flow@alpha swarm init --topology hierarchical

          # Store release context
          echo "$PRS" > $tmp$release-prs.json
          echo "$COMMITS" > $tmp$release-commits.txt

      - name: Generate Release Changelog
        run: |
          # Generate intelligent changelog
          CHANGELOG=$(npx claude-flow@alpha github changelog \
            --prs "$(cat $tmp$release-prs.json)" \
            --commits "$(cat $tmp$release-commits.txt)" \
            --from $PREV_TAG \
            --to $RELEASE_TAG \
            --categorize \
            --add-migration-guide \
            --format markdown)

          echo "$CHANGELOG" > RELEASE_CHANGELOG.md

      - name: Build Release Artifacts
        run: |
          # Install dependencies
          npm ci

          # Run comprehensive validation
          npm run lint
          npm run typecheck
          npm run test:all
          npm run build

          # Build platform-specific binaries
          npx claude-flow@alpha github release-build \
            --platforms "linux,macos,windows" \
            --architectures "x64,arm64" \
            --parallel

      - name: Security Scan
        run: |
          # Run security validation
          npm audit --audit-level=moderate

          npx claude-flow@alpha github release-security \
            --scan-dependencies \
            --check-secrets \
            --sign-artifacts

      - name: Create GitHub Release
        run: |
          # Update release with generated changelog
          gh release edit ${{ github.ref_name }} \
            --notes "$(cat RELEASE_CHANGELOG.md)" \
            --draft=false

          # Upload all artifacts
          for file in dist/*; do
            gh release upload ${{ github.ref_name }} "$file"
          done

      - name: Deploy to Package Registries
        run: |
          # Publish to npm
          echo "/$registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
          npm publish

          # Build and push Docker images
          docker build -t ${{ github.repository }}:${{ github.ref_name }} .
          docker push ${{ github.repository }}:${{ github.ref_name }}

      - name: Post-Release Validation
        run: |
          # Run smoke tests
          npm run test:smoke

          # Validate deployment
          npx claude-flow@alpha github release-validate \
            --version ${{ github.ref_name }} \
            --smoke-tests \
            --health-checks

      - name: Create Release Announcement
        run: |
          # Create announcement issue
          gh issue create \
            --title "🎉 Released ${{ github.ref_name }}" \
            --body "$(cat RELEASE_CHANGELOG.md)" \
            --label "announcement,release"

          # Notify via discussion
          gh api repos/${{ github.repository }}$discussions \
            --method POST \
            -f title="Release ${{ github.ref_name }} Now Available" \
            -f body="$(cat RELEASE_CHANGELOG.md)" \
            -f category_id="$(gh api repos/${{ github.repository }}$discussions$categories --jq '.[] | select(.slug=="announcements") | .id')"

      - name: Monitor Release
        run: |
          # Start release monitoring
          npx claude-flow@alpha github release-monitor \
            --version ${{ github.ref_name }} \
            --duration 1h \
            --alert-on-errors &
ホットフィックスのワークフロー
# .github$workflows$hotfix.yml
name: Emergency Hotfix Workflow
on:
  issues:
    types: [labeled]

jobs:
  emergency-hotfix:
    if: contains(github.event.issue.labels.*.name, 'critical-hotfix')
    runs-on: ubuntu-latest

    steps:
      - name: Create Hotfix Branch
        run: |
          LAST_STABLE=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
          HOTFIX_VERSION=$(echo $LAST_STABLE | awk -F. '{print $1"."$2"."$3+1}')

          git checkout -b hotfix/$HOTFIX_VERSION $LAST_STABLE

      - name: Fast-Track Testing
        run: |
          npm ci
          npm run test:critical
          npm run build

      - name: Emergency Release
        run: |
          npx claude-flow@alpha github emergency-release \
            --issue ${{ github.event.issue.number }} \
            --severity critical \
            --fast-track \
            --notify-all

ベストプラクティスとパターン

リリース計画のガイドライン
1. 定期的なリリースサイクル
  • 毎週:バグ修正を含むパッチリリース
  • 隔週:機能を含むマイナーリリース
  • 四半期ごと:破壊的変更を含むメジャーリリース
  • 必要に応じて:重大な問題に対するホットフィックス
2. 機能凍結の戦略
  • リリースの 3 日前にコードを凍結
  • 重大なバグ修正のみ許可
  • メジャーリリースではベータテスト期間を設ける
  • ステークホルダーとのコミュニケーション計画を立てる
3. バージョン管理のルール
  • セマンティックバージョニングを厳守する
  • 破壊的変更はメジャーバージョンでのみ行う
  • 1つ前のマイナーバージョンで非推奨の警告を出す
  • パッケージ間でバージョンを同期する
自動化の推奨事項
1. 包括的な CI/CD パイプライン
  • すべての段階でテストを自動化する
  • リリース前にセキュリティスキャンを実施する
  • パフォーマンスのベンチマークを実施する
  • ドキュメントを生成する
2. 段階的なデプロイ
  • 早期検出のためにカナリアリリースを行う
  • モニタリングしながら段階的にロールアウトする
  • ヘルスチェックを自動化する
  • 迅速なロールバックの仕組みを用意する
3. モニタリングと可観測性
  • リアルタイムでエラーを追跡する
  • パフォーマンス指標を収集する
  • ユーザーの利用状況を分析する
  • フィードバック収集を自動化する
ドキュメントの基準
1. 変更履歴の要件
  • 変更を種類ごとに分類する
  • 破壊的変更を明示する
  • メジャーバージョン向けの移行ガイドを用意する
  • 貢献者を明記する
2. リリースノートの内容
  • 機能の概要
  • 技術的な変更の詳細
  • アップグレード手順
  • 既知の問題と制限事項
3. API ドキュメント
  • API ドキュメントの生成を自動化する
  • サンプルコードを更新する
  • 非推奨の通知
  • バージョン互換性マトリックス

トラブルシューティングとよくある問題

問題:リリースビルドの失敗
# Debug build failures
npx claude-flow@alpha diagnostic-run \
  --component build \
  --verbose

# Retry with isolated environment
docker run --rm -v $(pwd):$app node:20 \
  bash -c "cd $app && npm ci && npm run build"
問題:CI でのテスト失敗
# Run tests with detailed output
npm run test -- --verbose --coverage

# Check for environment-specific issues
npm run test:ci

# Compare local vs CI environment
npx claude-flow@alpha github compat-test \
  --environments "local,ci" \
  --compare
問題:デプロイのロールバックが必要
# Immediate rollback to previous version
npx claude-flow@alpha github rollback \
  --to-version v1.9.9 \
  --reason "Critical bug in v2.0.0" \
  --preserve-data \
  --notify-users

# Investigate rollback cause
npx claude-flow@alpha github release-analytics \
  --version v2.0.0 \
  --identify-issues
問題:バージョンの競合
# Check and resolve version conflicts
npx claude-flow@alpha github release-validate \
  --checks version-conflicts \
  --auto-resolve

# Align multi-package versions
npx claude-flow@alpha github version-sync \
  --packages "package-a,package-b" \
  --strategy semantic

パフォーマンス指標とベンチマーク

想定されるパフォーマンス
  • リリース計画:< 2 分
  • ビルドプロセス:3~8 分(プロジェクトによって異なります)
  • テストの実行:5~15 分
  • デプロイ:ターゲットごとに 2~5 分
  • パイプライン全体:15~30 分
最適化のヒント
  1. 並列実行:スウォーム連携を使用してタスクを同時に実行する
  2. キャッシュ:ビルドと依存関係のキャッシュを有効にする
  3. インクリメンタルビルド:変更されたコンポーネントのみを再ビルドする
  4. テストの最適化:重要なテストを先に実行し、テストスイート全体を並列実行する
成功指標
  • リリース頻度:マイナーリリースを週次で行うことを目標とする
  • リードタイム:コミットから本番環境まで < 2 時間
  • 失敗率:ロールバックが必要となるリリースを < 2% に抑える
  • MTTR:重大なホットフィックスの対応を < 30 分で完了する

関連リソース

ドキュメント
関連スキル
  • github-pr-management:PR のレビューとマージの自動化
  • github-workflow-automation:CI/CD ワークフローのオーケストレーション
  • multi-repo-coordination:リポジトリ間の同期
  • deployment-orchestration:高度なデプロイ戦略
サポートとコミュニティ
  • Issues: https:/$github.com$ruvnet$claude-flow$issues
  • Discussions: https:/$github.com$ruvnet$claude-flow$discussions
  • Documentation: https:/$claude-flow.dev$docs

付録:リリースチェックリストのテンプレート

リリース前チェックリスト
  • すべてのパッケージでバージョン番号を更新した
  • 変更履歴を生成し、レビューした
  • 破壊的変更を移行ガイドとともに記載した
  • すべてのテスト(単体、統合、E2E)が成功した
  • セキュリティスキャンが完了し、重大な問題がない
  • パフォーマンスのベンチマークが許容範囲内にある
  • ドキュメント(API ドキュメント、README、サンプル)を更新した
  • リリースノートを作成し、レビューした
  • リリース予定について関係者に通知した
  • デプロイ計画をレビューし、承認した
リリースチェックリスト
  • リリースブランチを作成し、検証した
  • CI/CD パイプラインが正常に完了した
  • 成果物をビルドし、検証した
  • 適切なリリースノートを添えて GitHub リリースを作成した
  • パッケージをレジストリに公開した
  • Docker イメージをコンテナレジストリにプッシュした
  • ステージング環境へのデプロイが成功した
  • ステージング環境でスモークテストが成功した
  • 本番環境へのデプロイが完了した
  • ヘルスチェックが成功した
リリース後のチェックリスト
  • リリース告知を公開しました
  • モニタリングダッシュボードを確認しました
  • エラー率が通常の範囲内です
  • パフォーマンス指標が安定しています
  • ユーザーからのフィードバックを収集しました
  • ドキュメントへのリンクを確認しました
  • リリースの振り返りを予定しました
  • 次回リリースの計画を開始しました

バージョン: 2.0.0 最終更新日: 2025-10-19 メンテナンス担当: Claude Flow Team

コメント