home wiki.fukuchiharuki.me
Menu

ブランチ戦略

ブランチ実践によって実現したいことは次の3つ。

  1. リリースパッケージを常時ビルド可能
  2. コードは安定していると言うことが可能
  3. 安全にリリース可能

1. リリースパッケージを常時ビルド可能

リリース時点をリビジョン番号で切り出すことは可能です。しかし、現時点のリリースパッケージにバグフィックスを適用したいようなとき、リビジョン番号での切り出しだけでは解決することが容易でない場合があります。次のテーマが始まっている場合、バグフィックスの適用を次のテーマについても考える必要があるからです。

ここでとりわけ解決したいユースケースは次です。

  • リリース済みの現時点パッケージにバグフィックスだけを適用してリリース
  • 前テーマのリリースを待たず次テーマの開発を進行する

2. コードは安定していると言うことが可能

ソースコードをマージした後のコードラインは安定していると言うことができません。マージしたコードがマージ先にどのような影響があるかを完全に把握することは困難だからです。従って、とりわけ IT や ST のフェーズでは開発分の変更をマージしたコードラインをテスト実施にて安定にする、ということを目的にするべきです。

ここでとりわけ解決したいユースケースは次です。

  • 各テスト(UT, IT, ST)を実施する
  • 複数テーマの開発を並行する

3. 安全にリリース可能

安全にリリースパッケージを用意するには俗人性を排除する必要があります。俗人性のない形式化によって、誰でも、同時に、ブランチの状態を評価できなければならないからです。従って、この取り組みそのものが安全なリリースをもたらします。

ここでとりわけ解決したいユースケースは次です。

  • 誰もがブランチ計画を立てる
  • 誰もがリリースパッケージを用意する
  • 誰もがブランチ実践を引き継ぐ