連載:VSTSで開発プロジェクトはこう変わる

第2回 TFSによるTeam System運用の実際

日立システムアンドサービス 酒井 達明
2006/04/08
Page1 Page2 Page3 Page4

VSTSの構築と運用

 これまで、VSTSおよびTFSの特徴とVSTSをどのように活用すればよいかに関して述べてきた。最後に、具体的なVSTS環境構築の流れと、その運用について解説していこう。

 前述したとおり、VSTSの運用形態としてシングル・サーバ構成とデュアル・サーバ構成の2種類が存在する。しかし、よほど大規模な開発プロジェクトでない限りシングル・サーバ構成で十分収容可能である。そこで、シングル・サーバ構成を例に挙げ、構成・運用の流れを紹介する。

■TFS環境の構築

 TFSの環境を構築するには、いくつかの準備作業を実施する必要がある。この準備作業が適切に完了していないと、TFSが正常にインストールされなかったり、正常にインストールされたとしても正常に動作しなかったりする事態が発生し得るので注意が必要だ。

 TFS環境を構築する際にはあらかじめTFSのパッケージに収録されている「インストール・ガイド」を熟読し、インストール前に何をすべきかを熟知しておいた方がよいだろう。このインストール・ガイドには、TFSを構成するさまざまなケースに応じて、作業の手順が詳細に紹介されている。

 ここでは、前述したとおり典型的な配置パターンである、シングル・サーバ構成を採用してTFSを構築する手順を紹介する。なお、今回の例で挙げる構成は、開発要員20〜50人程度の中規模プロジェクトを想定している。そのため、ユーザー・アカウントの管理にActive Directoryを導入することとする。

 まず、TFSをインストールする前に必要な準備としては以下のような作業が存在する。特に重要なポイントは太字で示している。

順序 作業の項目 内容
1
ハードおよびOS環境の確認 【プロセッサ】
2.2GHz以上のPentium 4またはAthlon CPU
【オペレーティング システム】
・Windows Server 2003 SP1 Enterprise Edition
・Windows Server 2003 SP1 Standard Edition
【メモリ】
2Gbytes以上
【ハード ディスク】
30Gbytes以上の空き容量
2
Active Directoryドメインの構築 TFSをインストールするサーバをドメイン・コントローラとして構築
3
TFS実行用アカウントの作成 管理者権限を持たないアカウントを2種類作成
・TFS実行用アカウント(例:TFSSERVICE)
・SQL Server Reporting Serviceアクセス用アカウント(例:TFSREPORTS)
4
IIS6.0のセットアップ ASP.NETを有効にし、FrontPage Server Extensionsはインストールしない
5
SQL Server 2005のセットアップ SQL Serverデータベース・サービス、Analysis Services、およびReporting Servicesを既定のインスタンスとしてセットアップ

・サービス・アカウントはビルトイン・システム・アカウントの[ローカルシステム]を選択

・セットアップ終了時にすべてのサービスを起動するよう選択

[認証モード]は「Windows認証モード」を選択
6
Windows SharePoint Services 2.0 Service Pack 2のインストール ・インストール・ガイドを参考にSP2を入手
[サーバ ファームの構成]オプションを適用
7
Windows Firewallなどのポート設定 以下のポートを開放
・SQL Server Reporting Services:80(TCP)
・SQL Server:1433(TCP)
・SQL Server Analysis Services:2382(TCP) および 2383(TCP)
・Windows SharePoint Services:80(TCP)
・SharePoint Central Administration:IEのアドレスバーに表示されるポート番号*(TCP)
TFSをインストールする前に必要な準備(シングル・サーバ構成の場合)
* ポート番号はインストールによって異なるため、「管理ツール」の「SharePointのサーバ管理」を開いた際、IEのアドレスバーに表示されるポート番号を指定する(例:「http://localhost/17012/」の場合、17012番のポートを開放する)。

 いうまでもないが、これらの準備作業においてサーバ製品のセットアップを実行する際には、TFSをセットアップするマシンに管理者権限を持つアカウントでログインしている必要がある。

 ここまでの準備をすべて完了した後、初めてTFSのセットアップを開始する。TFSのセットアップを起動すると、最初にインストールの種類を問い合わせるダイアログが表示される。今回の例では[シングルサーバー インストール]を選択する。


TFSセットアップ形式の選択
このダイアログはTFSのセットアップ起動時に表示される。ここではシングル・サーバ構成かデュアル・サーバ構成かを選択する。
  TFSアプリケーション層およびデータ層を単一サーバに配置する際に選択。
  TFSアプリケーション層とデータ層を別々のサーバに配置する際に選択。

 セットアップ・プログラムは、事前にTFSセットアップの前提条件を満たしているか否かをスキャンする。この結果、問題が発見された場合には警告が表示されるので、その警告を基にセットアップの前提作業に抜けがないかを確認のうえ、すべての前提条件を満たすように準備作業を完了させる必要がある。そしてその後、再度セットアップを実行する必要がある。

 スキャンの結果、問題が見つからないか、軽微な問題である場合には、セットアップ・プロセスが引き続いて開始される。

 セットアップ中には、TFS実行用アカウントおよびReporting Serviceアクセス用アカウントを問い合わせるダイアログが表示されるので上記の表の手順3で設定したユーザー名とパスワードを指定する。

 セットアップが正常に終了すれば、システムを再起動することで、TFSが利用可能な状態となる。

■TFSへのアクセス権設定

 セットアップの完了したTFSで実際にチーム開発を始めるためには、まずTFSへのアクセス権限を設定する必要がある。

 TFSはWindowsのグループ・メンバーシップとは独立した独自のグループ・メンバーシップを持ち、このグループにユーザーを追加することで、TFSおよびチーム・プロジェクトへのアクセス権を設定する。

 従って、TFSをインストールした際に、Active DirectoryのグループにTFS用のグループが作成されることはなく、Active DirectoryのみでTFSのアクセス権の設定を実現することはできない。

 ただし、TFSのグループに登録されるユーザー・アカウントは、Active Directoryドメイン・アカウントまたはビルトイン・アカウントであるため、開発チーム・メンバー全員のユーザー・アカウントはあらかじめ作成しておく必要がある。

 TFSがセットアップされた際、デフォルトでTFSが作成するグループ・メンバーシップには以下の種類が存在する。

名称 対象 役割
Team Foundation管理者 TFS全体 メンバーはサーバ上でのすべての権限の操作を実行可能
Team Foundationの有効ユーザー TFS全体 サーバ上でのすべてのアクセスを所有するユーザーおよびグループをメンバーに含む(手作業によるメンバーの追加や削除は実行できない)
サービス・アカウント TFS全体 TFSのサービス・アカウントを含む
Project Administrators チーム・プロジェクト メンバーはプロジェクトの管理者権限を持つ
Project Contributors チーム・プロジェクト メンバーは一般的な読み取り/書き込みアクセス許可を持つ
Project Readers チーム・プロジェクト メンバーはプロジェクト内の読み取りアクセス許可のみを持つ
Project Build Services チーム・プロジェクト チーム・プロジェクト内のソースに対して、MS Buildを実行するアクセス許可を持つ
デフォルトで作成されるTFSのグループ・メンバーシップ

 これらのグループ・メンバーシップの中で、新規にチーム・プロジェクトを作成する権限を与えられているのは「Team Foundation管理者」のみである。従って、チーム・プロジェクトの作成を実施するユーザーに対して、この権限を付与する必要がある。

 ただし、やみくもに管理者権限を付与するようなことはせず、システム管理者がチーム・プロジェクト発足時にチーム・プロジェクトのワークスペースを作成する運用がよいだろう。

 そして、プロジェクト・マネージャーに対してProject Administrators権限(=ユーザーをProject Administratorsグループに属させる)を付与し、プロジェクトごとのアクセス権の管理を移管する形態で運用することを推奨する。

■チーム・プロジェクトの作成

 チーム・プロジェクトを新規に作成するには、あらかじめTFSへ接続しておく必要がある。TFSへの接続はVS 2005の[ツール]メニューの[Team Foundation Serverに接続]を選択することで実行可能だ。

 TFSへ接続されると、VS 2005のIDE上に[チーム]メニューが表示され、[ファイル]−[新規作成]メニューに[チーム プロジェクト]メニュー項目が追加される。そして、[チーム プロジェクト]の新規作成を実行することで、チーム・プロジェクトを作成することができる。

 チーム・プロジェクトの新規作成時には、チーム・プロジェクトで利用するプロセス・テンプレートを選択するダイアログが表示される。ここでの選択により、プロセス・テンプレートで定義されている作業項目、クエリ、レポート、ドキュメントなどがチーム・プロジェクトに反映される。


チーム・プロジェクト新規作成時のプロセス・テンプレートの選択
デフォルトでは[MSF for Agile Software Development]または[MSF for CMMI Process Improvement]が選択可能である。先に紹介した[プロセス テンプレート マネージャ]でアップロードされたプロセス・テンプレートもこの一覧に表示される。

 引き続き、プロジェクト・ポータルの設定および、ソース管理の設定が実行される。プロジェクト・ポータルの設定では、プロジェクト・ポータルのサイト名称(デフォルトではチーム・プロジェクトの名称となる)およびプロジェクト・ポータルの説明を指定する。ソース管理の設定では、ソース管理フォルダの作成の有無、またはソース管理フォルダを新規に作成するか既存のソース管理の分岐を作成するかを指定する。

 以上の作業を完了すると、チーム・プロジェクトが実際に作成される。そしてこれはTFSに接続する際に開かれるダイアログのチーム・プロジェクト一覧に追加される。

■チーム・プロジェクトへのアクセス権設定

 チーム・プロジェクトを作成したら、最初に実行しなければならない作業が、このチーム・プロジェクトへのアクセス権設定である。この作業は、チーム・プロジェクトにどのメンバーを参加させるかを決定するものだ。

 ただし、この作業は「ビジネス・アナリスト」や「アーキテクト」といった、チーム・プロジェクトにおけるロール(役割)を決定付けるものではなく、あくまでチーム・プロジェクトへのアクセス許可の設定であることを付け加えておく。

 チーム・プロジェクトへのアクセス権設定は、Project Administratorsグループに登録されたユーザーのみが実行可能である。そのため、最低1人はチーム・プロジェクト内にこの権限を持つユーザーが存在していなければならない。

 MSF for Agileの場合、「どのメンバーをチーム・プロジェクトへ参加させるか」という点に関する責任を持つロールとして、プロジェクト・マネージャーが存在している。このため、プロジェクト・マネージャーにProject Administrators権限を与えることも考えられるが、比較的年配の技術者が多いプロジェクト・マネージャーに管理者権限を与えることはあまり適切ではないかもしれない。そのようなときは、チーム・プロジェクトの作業環境を専門的に管理するメンバーを置くか、リーダー的役割の開発者にProject Administrators権限を与えるかの方法で、作業環境の管理を一任することをお勧めする。

 各チーム・メンバーへの権限の割り当ては、例えば以下のようにするとよいだろう。

メンバーの種類 割り当てる権限
チーム・プロジェクトの管理者 Project Administrators
チーム・ビルドを実行するアカウント Project Build Services
チーム・プロジェクトに属する開発者 Project Contributors
チーム・プロジェクトのメンバー以外のチーム・プロジェクトに関連するメンバー Project Reader
チーム・メンバーへの権限の割り当て例

 ほとんどの場合、開発チームのメンバーについては、Project Contributors権限を持たせればよい。また、関連するチームのマネージャーや、技術支援部署のメンバーなどにはProject Reader権限を与えることで、レポートや技術資料へのアクセスを提供することが可能である。


チーム・プロジェクトへのアクセス権設定の例
大半のチーム・メンバーはProject Contributorsへ登録される。

 このとき、Project Contributorsグループに登録されたメンバーは、作業項目の新規作成時や更新時に詳細情報を入力するフォームの[担当者]欄のコンボボックスに一覧が表示されるため、そこでユーザーを選択して作業項目を割り当てることが可能になる。いい換えれば、チーム・プロジェクトの[担当者]として作業項目を割り当てたいのであれば、Project Contributorグループに登録しなければならないのである。

 チーム・プロジェクトへのアクセス権の設定が完了すると、チーム・プロジェクトの開発を開始するための準備は完了である。

まとめ

 以上、2回にわたりVSTSの機能、そしてVSTSを「システム」として運用するための手順や、自分たちの開発環境に適したVSTS環境の展開およびカスタマイズ方法について紹介してきた。

 VSTSのIDEである各VS 2005 Team Editionsが提供されたことで、ソフトウェアの設計〜開発〜テストといった、ソフトウェア・ライフサイクルの広い範囲に対する開発支援機能を利用できるようになった。これによって、ソフトウェア開発プロジェクトの作業効率が大幅に向上することが期待できるだろう。

 それだけでなく、TFSと組み合わせることによって、タスクや問題解決の状況を可視化できるようになるため、より的確なプロジェクト管理が可能になる。これによって、作業が最適化され納期遅延や仕様不良などが原因で発生するデス・マーチの発生を予防する効果も期待できる。

 つまり、VSTSはわれわれ開発者を残業や徹夜から解放し、ソフトウェア開発作業をいっそう魅力的なものにしてくれるのだ。VSTSを使いながら、少なくとも筆者はそう確信している。End of Article

 

 INDEX
  Visual Studio Team Systemで開発プロジェクトはこう変わる
  第2回 Team Foundation ServerによるTeam System運用の実際
    1.システムとしてのVSTS
    2.VSTSの導入モデル
    3.VSTSにおける開発プロセス
  4.VSTSの構築と運用
 
インデックス・ページヘ  「Visual Studio Team Systemで開発プロジェクトはこう変わる」


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 記事ランキング

本日 月間