構成管理ベストプラクティス 〜バージョン管理計画〜
計画、といっても、それほど大げさに考える必要はありません。
利用するために必要な、準備とルール決め程度です。また、一度決めてしまえば、類似のプロジェクトを行う場合にも、ほぼ同じものが適用できるようになります。
- 最初からツールを利用する
- 構成管理を行う場合、何かしらのツールを導入することになると思いますが、最初から利用できるように準備しておくことが活用の第一歩です。開発途中からツールを導入しようと思っても、それまでの作業のやり方に流されてしまい、有効活用されないため、開発当初から利用を徹底しましょう。
- 構成管理責任者を決めておく
- 構成管理の成功のためには秩序が必要です。皆、好きなように使っていては、成果物の構成を保つことができません。構成管理ルールの決定、およびそれらが実行されているかのチェックを行う責任者を決めておきましょう。
- ディレクトリ構成はあらかじめ用意しておく
- 成果物をどのように登録するのか、ディレクトリは予め用意しておきます。
- ドキュメント、ソースコード、設定ファイル、試験データ等、必要なデータを登録するディレクトリを作成します。
- マージ修正モデルかロックモデルかを決めておく
- コメントのルールを決めておく
- コメントには、主に以下の内容を含めるようにします。機能名は、変更履歴だけを見ても、何が修正されているのかが、すぐに分かるようにするためです。
- 修正内容/修正が発生した理由/機能名/変更管理のチケットID
- ツールによっては、チケットIDを書いておくと変更管理ツールと自動連携するものもあるので(Subversion&Tracなど)、事前にツールの機能を確認しておくと良いでしょう。
- コメントには、主に以下の内容を含めるようにします。機能名は、変更履歴だけを見ても、何が修正されているのかが、すぐに分かるようにするためです。
- メインラインを1つに保つ
- バージョン管理ツールは、ブランチの機能を備えているものがほとんどですが、ブランチはできるだけ作成しないようこころがけましょう。ブランチは、構成管理が複雑化する原因となります。
- コードラインポリシーを決めておく
- コードラインとは、ある基準に対するソースファイルの集合のことです。「開発用」「リリース用」「障害対応用」など、目的に応じて作成しますが、それに適したポリシーを決定しておきます。
- 特に、コミット条件は必ず決定しておきます。「コンパイルできる状態」「xUnitテストがパスする状態」「結合テストがパスする状態」など、コードラインの目的に応じて決定します。
- タグ/ブランチのルールを決めておく
- タイミング、名称、および、それを管理する責任者を決めておきます。
- ブランチは、ブランチを作成する条件、およびメインラインにマージする条件を決定しておきましょう。
- できるだけブランチは作成せず、作成する場合でも、目的を明確にし、ブランチからブランチを作成しないようにする。
- ブランチを、メインラインにマージする期限を設ける。
- タグは、少なくとも以下のタイミングでは作成するようにしましょう。
- 要件FIX時/ビルド時/リリース時
- 個人ワークスペースを設ける
- 大きな変更作業を加えるときなど、メインラインだけでは作業がしにくい場合があります。その場合は、開発者毎にワークスペースを設けましょう。個人ワークスペースとして、ブランチを利用するのも有効です。
- 必要なものは全てリポジトリに登録しておく
- ソースコードだけでなく、ドキュメント、設定ファイル、テストデータ、ビルドスクリプト、開発環境等、開発作業に必要な成果物は、全て登録しておきます。
- チェックアウトしたら、誰でもすぐに作業を行える状態にしておくことが必要です。