連載:Team Foundation Server 2008の下流工程への適用

第2回 チーム開発におけるバージョン管理の活用方法

アバナード株式会社 安藤 大祐(Microsoft MVP 2008 for Team System)
2008/12/26
Page1 Page2 Page3

 Team Foundation Server(以降TFS)導入のアプローチとして、作業項目管理やプロジェクト管理といった上流工程向けの機能から適用していく方法と、下流工程で利用されるバージョン管理機能から適用していく方法の2種類がある。

 前回の記事でも述べたとおり、TFSの導入は影響範囲が比較的限定的である下流工程から実施していくのがベターな選択肢である。従って、導入に向けた次のステップとして、今回はバージョン管理システムの利用手順を説明するとともに、筆者の考えるチーム開発におけるバージョン管理の活用方法を紹介したいと思う。

チーム・プロジェクトの構築

 バージョン管理システムを説明する前に、まずはチーム・プロジェクトについて説明しておこう。チーム・プロジェクトとは、TFSの各種機能を実際に利用するために必要な作業領域のことであり、TFSを利用するプロジェクトやチームの単位で作成するものである。

チーム・プロジェクト作成手順

 チーム・プロジェクトの構築は極めて簡単だ。[チーム エクスプローラ]上からウィザード形式で作成できる。

図1 チーム・プロジェクト作成ウィザードの起動
[チーム エクスプローラ]上からウィザード形式でチーム・プロジェクトを作成できる。
  [チーム エクスプローラ]上のTFS項目を右クリックすると表示されるコンテキスト・メニューから、[新しいチーム プロジェクト]を選択する。

 ウィザードを進める途中で、チーム・プロジェクトで利用する[プロセス テンプレートの選択]ページが表示される。

図2 [プロセス テンプレートの選択]ページ
ウィザードを進める途中でこの画面が表示されるので、開発プロセスを決めるテンプレートを選択する。
  対象のTFSサーバにインストールされているプロセス・テンプレートの一覧が表示される。独自テンプレートを作成し、インストールしている場合は、ここでそれを選択することも可能である。

 既定では「MSF for Agile」「MSF for CMMI」の2種類のテンプレートから選択可能であり、本来はプロジェクトの規模や内容に応じて選択するべきではあるが、バージョン管理や自動ビルドといった下流工程に対してTFSを適用する場合は、両者には特に機能の差異はなく、取りあえず「MSF for Agile」を選択しておけばよい。

 あとはウィザードに従って進んでいけば、特に迷うことはなく作成は完了するはずである。チーム・プロジェクトが作成されれば、[チーム エクスプローラ]上に、チーム・プロジェクトの項目が表示される(次の画面では[DevTeam2]というのがチーム・プロジェクト項目)。

図3 チーム・プロジェクトの項目
「Work Item Templates」と「Alerts」の2つの項目は、Visual Studio Team System 2008 Team Foundation Server Power Toolsをインストールすることにより表示されるものであるが、本稿ではこれら機能は使用しないため、インストールする必要はない。

 これでチーム・プロジェクトの作成は完了である。しかし、この状態では、TFSを利用するための権限が、チーム・プロジェクトの作成を実施したユーザーのアカウントにしか設定されていない。従って、チームとしてTFSを利用し始めるためには、事前に適切な権限設定を行う必要がある。

各ユーザーへアクセス許可を設定

 はっきりいって、TFSのアクセス許可設定はかなり面倒である。なぜなら、TFSに対する設定だけでは済まず、TFSが利用するWindows SharePoint Services(以降WSS)やSQL Server Reporting Services(以降SSRS)といったそのほかのサービスに対しても、手動でのアクセス許可設定が必要になるからだ。

 そこで筆者がお勧めする方法は、プロジェクト・リーダーや開発者など、プロジェクトのロールに対応するセキュリティ・グループ(Windowsネットワークがワークグループ構成の場合はローカル・グループ)を作成し、そのグループ・アカウントに対してアクセス許可設定を行うようにすることだ。

 これにより、面倒な権限設定作業から解放され、Active Directoryによる一元管理を行うことが可能となる。以下は、作成するセキュリティ・グループと、それに対して設定するアクセス許可設定の内容だ。

作成するセキュリティ・グループ 対応する既定のTFSグループ 対応する既定のWSSグループ 対応する既定のSSRSグループ
TFS管理者グループ。TFSそのものに対してメンテナンスを行う。
例)
MyDomain\TFSAdministrators
[Server]\Team Foundation 管理者 フルコントロール コンテンツ・マネージャ
プロジェクト管理者グループ。プロジェクト・リーダーやアーキテクトなどが含まれる。
例)
MyDomain\<ProjectName>Administrators
[Project]\Project Administrators フルコントロール コンテンツ・マネージャ
プロジェクト開発者グループ。開発者やテスタが含まれる。
例)
MyDomain\<ProjectName> Contributors
[Project]\Contributors 投稿者 閲覧者
直接プロジェクトに対して作業を行わない、品質管理者やそのほかプロジェクトのステークホルダーが含まれる。
例)
MyDomain\<ProjectName> Readers
[Project]\Readers 閲覧者 閲覧者
表1 セキュリティ・グループとグループ・メンバシップの対応

 次の画面は表1の内容を実際に作成しているところ。

図4 TFSの権限設定ダイアログ
このダイアログは、TFSに対する権限設定を行うものであり、WSS、SSRSに関しては、それぞれの管理ページから権限設定を行う必要がある。

 具体的なアクセス許可の設定手順については、本稿では割愛する。詳細な手順を知りたい場合は、「MSDN:アクセス許可の管理」を参照していただきたい。

 以上で、TFS機能を利用するための準備は整った。


 INDEX
  [連載] Team Foundation Server 2008の下流工程への適用
  第2回 チーム開発におけるバージョン管理の活用方法
  1.チーム・プロジェクトの構築
    2.ソース・コードの移行/TFSバージョン管理システムの特徴
    3.筆者が勧めるバージョン管理のノウハウ

インデックス・ページヘ  「Team Foundation Server 2008の下流工程への適用」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間