リリースブランチとは何か?
リリースブランチとは、特定のバージョンを安定化させるために切り出されるブランチで、修正のみを受け入れる一方、進行中の開発は別の場所で続きます。
リリースブランチは、バージョンを静かに仕上げる場所を提供します。リリース向けの機能が揃うと、チームはリリースブランチを切り出し、機能セットを凍結し、バグ修正と仕上げのみを許可します。その間、新しい作業はメインの開発ラインで続きます。
What a release branch does
リリースブランチは、あるバージョン向けのコードのスナップショットを取り、新機能から切り離します。そのリリース向けの修正だけがそこに入ります。これにより、チームは進行中の開発をブロックすることなく候補を堅牢にでき、最終テストの明確なターゲットを提供します。
Cutting a release branch
統合ラインからブランチを切り出し、その後、安定化のための変更のみに制限します。
Cutting a release branch
git switch -c release/2.3 develop
# only bug fixes land here until releaseStabilize, then tag
安定化期間中、テスターはブランチを動かして検証し、開発者は見つかった問題を修正します。堅牢になったら、そのコミットにリリースとしてタグを付け、修正が失われないようにメインへマージし直します。ブランチは今後のパッチのために保持することも、廃止することもできます。
Release branches in CI/CD
リリースブランチは、しばしばより重いパイプラインをトリガーします。完全なリグレッションスイート、パフォーマンステスト、日常のブランチではスキップするステージングへのデプロイなどです。リリースブランチにおけるCIの信頼こそが出荷を正当化します。ブランチにタグが付けられると、リリースパイプラインが最終アーティファクトをビルドして公開します。
Release branch practices
- リリースブランチでは新機能ではなく修正のみを許可します。
- リリース候補向けに確保された拡張CIチェックを実行します。
- 安定化したコミットにタグを付け、修正をmainへマージし直します。
- パッチのためにブランチを保持するかどうかを最初に決めておきます。
重要なポイント
- リリースブランチは、開発が別の場所で続く間にバージョンを安定化させます。
- 修正のみを受け入れ、堅牢になったらタグを付けます。
- CIは出荷前にリリースブランチでより重いチェックを実行します。
関連ガイド
What Is GitFlow?What is GitFlow? An explainer on the branching model with develop, release, feature, and hotfix branches, whe…
What Is a Hotfix Branch?What is a hotfix branch? Learn how a branch off production lets you patch a live bug fast, and how a streamli…
What Is a Release Tag?What is a release tag? Learn how version tags mark shippable commits, how semantic versioning structures them…