github-release-management について
github-release-managementは、ソフトウェアリリースを計画・調整するClaude Codeスキルです。バージョン管理、検証、ビルド、デプロイ、ドキュメント、ロールバックを扱い、複数パッケージやリポジトリのリリースにも対応します。
主な機能
- 01セマンティックバージョンの分析と提案
- 02コミットからの破壊的変更検出
- 03リリーステストと検証のオーケストレーション
- 04ビルドと段階的デプロイの調整
- 05変更履歴とリリースノートの生成
- 06ロールバックとリリース監視のワークフロー
活用シーン
- 01コミットを基にGitHubリリースを準備
- 02公開前にビルドとテストを検証
- 03複数パッケージやリポジトリのリリースを調整
- 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 分
最適化のヒント
- 並列実行:スウォーム連携を使用してタスクを同時に実行する
- キャッシュ:ビルドと依存関係のキャッシュを有効にする
- インクリメンタルビルド:変更されたコンポーネントのみを再ビルドする
- テストの最適化:重要なテストを先に実行し、テストスイート全体を並列実行する
成功指標
- リリース頻度:マイナーリリースを週次で行うことを目標とする
- リードタイム:コミットから本番環境まで < 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
コメント
Markdown 対応