チーム プロジェクト コレクションの管理
Team Foundation Server (TFS) が複数のチーム プロジェクトをホストする場合は、グループ化してまとめてから同じリソースを割り当てると、より効率的に管理できます。 たとえば、特定のコード ベースにアクセスするすべてのチーム プロジェクトなど、同様の要件や目標を持つプロジェクトをグループ化できます。 チーム プロジェクトのグループは、独自のユーザー グループ、サーバー リソース、および保守スケジュールを持つ独立したリソースとして管理できます。
チーム プロジェクトのグループを、チーム プロジェクト コレクション といいます。 TFS をインストールするときに、すべてのチーム プロジェクトを含む既定のコレクションが作成されます。 コレクションを作成するときは、そのコレクション内のチーム プロジェクトが使用できる論理リソースと物理リソースを指定します。 チーム プロジェクトが使用するすべての成果物およびデータは、コレクションの 1 つのデータベースに格納されます。
次の図は、TFS の論理アーキテクチャに統合されているチーム プロジェクト コレクションのデータベースを示しています。 チーム プロジェクトを作成する際、データを格納するコレクションを指定します。
既存のチーム プロジェクト コレクションの情報の表示または構成
TFS 管理者として追加されていない場合は、すぐに追加してもらうようにします。
コンソールを開くサーバーのローカル管理者グループのメンバーであり、かつ Team Foundation 管理者グループのメンバーであるか [サーバー レベル情報の編集] のアクセス許可が [許可] に設定されている必要があります。
TFS のアプリケーション層サーバーにログオンし、TFS の管理コンソールを開いてから、[チーム プロジェクト コレクション] ノードを開きます。
管理コンソールを開く方法の説明は、「Team Foundation 管理コンソールを使用して配置の構成と管理を行う」を参照してください。
コレクションの名前を強調表示し、さまざまなタブから提供される情報を確認します。 一部のタブは、対応するアプリケーションが TFS 配置でアプリケーション層をサポートするように構成されている場合にのみ表示されます。
対応するタブからは、次のタスクを実行できます。
タブ
タスク
全般
[コレクションの開始] または [コレクションの停止]: コレクションの開始または停止。 チーム プロジェクトは、コレクションを停止すると使用できなくなります。 通常、コレクションの停止は、コレクションの移動や分割などのメンテナンス操作をサポートするために行います。
コレクションが開始している場合は、[コレクションの停止] のみが表示されます。 コレクションが停止している場合は、[コレクションの開始] のみが表示されます。 コレクションの開始または停止は、完了までに数分かかります。 状態の変化を確認するのに [最新の情報に更新] の選択が必要になる場合があります。
[設定の編集]: コレクションの説明または設定を編集します。
[グループ メンバーシップ]: コレクションのメンバーとして、ユーザーやグループを追加または削除します。 詳細については、「チーム プロジェクト コレクションの管理アクセス許可の設定」を参照してください。
[セキュリティの管理]: コレクション グループのアクセス許可を管理します。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。
状態
アクティビティ ログを表示したり、ジョブを再実行します。
チーム プロジェクト
コレクションと チーム プロジェクトの削除 に定義されているチーム プロジェクトを表示します。
チーム プロジェクトの詳細については、「チーム プロジェクトの作成」を参照してください。
Reports フォルダー
コレクションが使用するレポート サーバーを構成します。
既定のフォルダーの場所を編集する際、サーバーに存在しないフォルダーのパスを入力した場合や、そのサーバーにフォルダーを作成するためのアクセス許可を持っていない場合、この操作は失敗します。 そのサーバーにフォルダーを作成するためのアクセス許可を持っていない場合は、既存のフォルダーを指定してください。
レポート サブフォルダーの既定の場所を削除するには、[構成のクリア] を選択します。
構成を削除すると、コレクションにあるすべての既存および将来のチーム プロジェクトのレポート機能が削除されます。
このタブは、レポート サーバーを TFS に追加した場合にのみ表示されます。
SharePoint サイト
チーム プロジェクト ポータルが作成される場所の既定のルートの場所を表示、構成、または削除します。 [新しいチーム プロジェクトの作成] ウィザードでは、この場所にチーム プロジェクト ポータルを作成します。
[SharePoint Web アプリケーション] の一覧が空の場合は、どのアプリケーションもアプリケーション層を構成していません。
このタブは、SharePoint 製品でアプリケーション層を構成した場合にのみ表示されます。 「配置への SharePoint 製品の追加」を参照してください。
チーム プロジェクト コレクションの作成
チーム プロジェクト コレクションを作成する前に、複数のチーム プロジェクト コレクションを作成する長所と短所の詳細についてのセクションにジャンプしてください。
TFS に管理者として追加されていない場合は、すぐに追加してもらうようにします。
コンソールを開くサーバーのローカル管理者グループのメンバーであり、かつ Team Foundation 管理者グループのメンバーであるか [サーバー レベル情報の編集] のアクセス許可が [許可] に設定されている必要があります。
管理コンソールから、[チーム プロジェクト コレクション] ページを開き、[コレクションを作成する] を選択します。
[チーム プロジェクト コレクションの作成] ウィザードのガイダンスに従います。
[名前] には、64 文字以下の一意の名前 (短いほど良い) を指定します。Team Foundation の名前付けの制限事項 に一覧表示されたスラッシュ (/) およびその他の特殊文字は指定しないでください。
ウィザードでは、次のリソースの構成をサポートします。 一部のリソースは、コレクションをホストするアプリケーション層サーバーが事前に構成されて対応するアプリケーションをサポートする場合にのみ構成できます。
データ層または SQL Server インスタンス
[SQL Server インスタンス] では、TFS のデータ層サーバーの名前を指定します。 名前付きインスタンスを使用してこのチーム プロジェクト コレクションのデータベースをホストする場合は、次の例のようにインスタンス名も指定する必要があります。
ServerName**\**InstanceName
コレクションにデータベースを作成する場合は、[このコレクションに新しいデータベースを作成する] を選択します。 このオプションでは、Visual Studio Team Foundation Background Job Agent 用のサービス アカウントが SQL Server のインスタンスにデータベースを作成するアクセス許可がある必要があります。
既存のデータベースを使用する場合は [この既存のデータベースを使用する] を選択し、テキスト ボックスにデータベースの名前を指定します。 このオプションでは、名前付きの SQL Server インスタンスに空のデータベースが存在し、書き込みのアクセス許可がある必要があります。
SharePoint Web アプリケーション
[SharePoint Web アプリケーション] は、SharePoint Web アプリケーションでアプリケーション層を構成した場合に表示され、それ以外の場合は無効になります。 後で構成するには、「 配置への SharePoint 製品の追加」を参照してください。
サイト コレクションを作成する既定のオプションを使用するには、[次へ] を選択します。 業務インフラストラクチャで既存のサイト コレクションを使用する必要がない限り、このオプションを選択します。 このオプションでは、SharePoint Web アプリケーションで構成されているルート サイトのサブサイトの名前として使用されるコレクション名を持つ SharePoint サイト コレクションを作成します。
このオプションでは、TFS サービス アカウントがファーム管理者グループのメンバーである必要があります。 ファーム管理者アカウントのメンバーでない場合、サイト コレクションを作成することはできません。
ファーム管理者グループのメンバーが作成した既存のサイト コレクションを使用するには、[詳細構成] を展開し、[既存の SharePoint サイトへのパスを指定] を選択してから、作成されたサイト コレクションの相対パスを指定します。
[パスの検証] を選択し、パスが正しい場合、[次へ] をクリックします。
SQL Server レポート サービス
[レポート] は、SQL Server Reporting Services を使用するようにアプリケーション層を構成した場合に表示されます。それ以外の場合は無効になります。 後で構成するには、「 レポート サーバーの追加」を参照してください。
サーバーの情報とレポートをホストするフォルダーを確認してから、[次へ] をクリックします。 このオプションでは、ユーザー アカウントに Reporting Services を実行しているサーバー上にフォルダーを作成するアクセス許可がある必要があります。
ビジネス インフラストラクチャのセキュリティ制限により、ウィザードでフォルダーを自動作成することが禁止されていない限り、既定のオプションを使用してフォルダーを作成するようにしてください。
Reporting Services を実行しているサーバー上に管理者が作成したフォルダーを使用する必要がある場合は、[詳細構成] を展開し、[既存のフォルダーへのパスを指定] を選択してから、作成されたフォルダーの相対パスを指定します。
[パスの検証] を選択し、パスが正しい場合、[次へ] をクリックします。
Lab Management
[Lab Management] は、コレクションに対して Lab Management を使用するアプリケーション層を構成した場合に表示されます。それ以外の場合は無効になります。 後で構成するには、「 SCVMM 環境用の Lab Management の構成」を参照してください。
Lab Management を使用しない場合は、検証プロセスに進みます。
Lab Management を使用する場合は、SCVMM 環境用の Lab Management の構成 で説明する「各チーム プロジェクト コレクションの Lab Management を構成するには」の手順に従ってください。
検証プロセス
[準備チェック] で、チェックの状態を確認します。
エラーを含む構成の隣には、青の下線が引かれたエラー インジケーターが表示されます。 インジケーターを選択すると、問題についての詳細なメッセージが表示されます。 続行するには、すべてのエラーを解決する必要があります。
すべての準備チェックに合格したら、[作成] をクリックします。
チーム プロジェクト コレクションの作成プロセスが開始されます。
ウィザードが終了したら、[閉じる] をクリックします。
チーム プロジェクト コレクションのデタッチまたは削除
コレクションの移動や分割などのメンテナンス操作を実行する場合は、チーム プロジェクト コレクションをデタッチします。 コレクションをデタッチすると、チームはチーム プロジェクトまたはソース コードにアクセスできません。
コレクションに定義されたチーム プロジェクトに格納されているデータが不要になった場合は、コレクションを削除します。 コレクションを削除する 3 つの手順は次のとおりです。(1) コレクションをデタッチする、(2) コレクションのデータベースを削除する、(3) 削除されたコレクションをサポートする SharePoint サイト コレクションを削除する。
コレクションをデタッチする
管理コンソールから、削除するコレクションの名前を強調表示してから、[コレクションのデタッチ] をクリックします。
[チーム プロジェクト コレクションのデタッチ] ウィザードのガイダンスに従います。
(省略可能) [チーム プロジェクト コレクションのサービス メッセージを指定してください。] ページの [サービス メッセージ] に、このコレクション内のプロジェクトに接続しようとするユーザーに対するメッセージを指定します。
すべての準備チェックが問題なく完了したら、[デタッチ] をクリックします。
[チーム プロジェクト コレクションのデタッチの進行状況を監視します。] ページで、すべてのプロセスが完了したら、[次へ] をクリックします。
(省略可能) [このチーム プロジェクト コレクションの補足情報を確認してください。] ページで、ログ ファイルの場所をメモしておきます。
データベースと SharePoint サイト コレクションの削除
SQL Server Management Studio を開き、コレクション データベースをホストする SQL Server データベース エンジンに接続し、インスタンスを展開します。
コレクション データベースの名前 (既定では TFS_CollectionName) を強調表示し、データベースを削除します。
詳細については、「データベースの削除」を参照してください。
SharePoint サーバーの全体管理を開き、削除されたコレクションをサポートしているサイト コレクションを削除します。
詳細については、「SharePoint 2013 でサイト コレクションを削除する」を参照してください。
これで、チーム プロジェクト コレクションが管理コンソールのコレクション一覧から除外されました。
Q & A
Q: 複数のチーム プロジェクト コレクションを作成する長所と短所は何ですか。
開発作業においてコードの分岐とマージを利用する場合、または同じコードに関連する作業項目の状態をクエリする必要がある場合は、同じチーム プロジェクト コレクションにチーム プロジェクトを統合する必要があります。
A: 複数のコレクションを作成するメリット
1 つのコード ベースまたは他のプロジェクトのグループの運用ニーズは、別のグループの運用ニーズから分離するほうがよいでしょう。 各コレクションのデータはそれぞれ独自のデータベースに格納されるため、配置内の他のコレクションとは別に各コレクションの多くの部分を個別に管理できます。 たとえば、各コレクションを個別に停止および開始できます。 これにより、各コレクションの保守の操作を異なる時間にスケジュールできます。
チーム プロジェクトを複数のコレクションにグループ化することには、次のようなメリットがあります。
データベースとリソースの管理と分散の柔軟性とスケーラビリティが高まります。 関連するチーム プロジェクトのグループは、レポート、作業項目、プロセス ガイダンス、およびコード ベースを共有します。
各コレクション用にデータベースを作成することで、チームと管理者は次のタスクを実行できます。
コレクション内のプロジェクトのニーズに合わせて、独立したコード ベースのビルド、分岐、マージ、および反復処理を行います。 コレクション外のコードの依存関係を正式に管理できます。
他のコレクションとは無関係に、コレクションごとにデータのバックアップと復元を行います。
SQL Server の 1 つのインスタンスにすべてのコレクション データベースを格納するか、1 つ以上のインスタンスにデータベースを分散します。
コレクションをデタッチし、バックアップしてから、TFS の異なる配置に復元します。
時間の経過と共にプロジェクトのサイズが大きくなるため、プロジェクトの要求に合わせてリソースを再割り当てします。
運用上のセキュリティの向上。 各コレクションには独自のユーザーおよび権限のセットがあるため、さまざまなコード ベースをさまざまなコレクションの下で分離できます。 管理者は、特定のコード ベースに関連する 1 つ以上のプロジェクトを含むコレクションにのみユーザーを追加できます。
ユーザー定義のワークフロー プロセスをサポートする機能の向上。 各コレクションは、プロセス テンプレート、作業項目の種類、リンクの種類、グローバル リスト、および作業項目フィールドを、その他のコレクションと切り離して管理します。 異なるワークフロー プロセスがあるチーム プロジェクトを別のコレクションに分離することで、コレクション内のチーム プロジェクトに必要なカスタマイズのみを公開します。
A: 複数のコレクションを作成するデメリット
複数のチーム プロジェクト コレクションを作成する主なデメリットは、TFS の配置の複雑さが増すことです。
各コレクションのデータベースをバックアップおよび復元する必要があり、他の管理タスクや保守タスクも、使用しているコレクションの数に比例して増えていきます。 たとえば、チーム プロジェクト コレクションごとにユーザーとアクセス許可のセットを管理する必要があります。
チームは、コレクション間で作業項目をリンクできません。
チームは、コレクション間でコードの分岐またはマージを行えません。
チームは、コレクション間でクエリを作成できません。
Q: どのようなオブジェクトやリソースがコレクション レベルで管理されますか。
A: 各チーム プロジェクトはコレクションに属しています。 さらに、次のオブジェクトはコレクション レベルで管理されます。
ソース管理 (TFVC): ファイルの種類およびサーバー ワークスペースでの非同期チェックアウトの有効化または無効化。
作業項目のトラッキング: プロセス テンプレート、作業項目の種類、リンクの種類、作業項目フィールド、グローバル リスト、およびグローバル ワークフロー。
コレクション内で定義されたすべてのチーム プロジェクトに対して定義されているすべてのフィールドが、コレクションに対して管理または構成されます。 同じチーム プロジェクト コレクション内で 1,024 を超える作業項目フィールドを定義することはできません。また、すべてのチーム プロジェクト コレクションで 1,024 を超えるフィールドをレポート可能に設定することもできません。
Dev-Test-Ops: ビルド コント ローラーとLab Management リソース (SCVMM からのホスト グループとライブラリ共有)
セキュリティ: コレクション レベルのグループとコレクション レベルのアクセス許可。
Q: TFS はどのようにさまざまなチーム コレクションに格納されたデータのレポートをサポートしますか。
A: TFS の配置にあるすべてのプロジェクト コレクションで定義されている全チーム プロジェクトのレポート可能データは、すべて 1 つのリレーショナル データ ウェアハウスに格納されます。 データ ウェアハウスに格納されたデータは、処理されて OLAP キューブに書き込まれます。 データが 1 つのデータ ウェアハウスに収集されるので、複数のチーム プロジェクト コレクションにわたるレポートを作成できます。
レポートを作成またはカスタマイズするには、TfsWarehouseDataReader ロールにユーザー アカウントを追加する必要があります。 レポート作成者には、リレーショナル データ ウェアハウスと Analysis Services キューブの両方への読み取りアクセスが必要です。 これらのアカウントでは、TFS の配置にあるすべてのチーム プロジェクト コレクションにホストされている全チーム プロジェクトのデータを表示できます。 チーム プロジェクトまたはコレクションへのアクセスを制限する方法はありません。
Q: コレクションで配置を拡大/縮小するにはどのようにすればよいですか。
A: 「チーム プロジェクト コレクションを移動する」または「チーム プロジェクト コレクションを分割する」を参照してください。
Q: コレクションを管理するたコマンド ライン ツールはありますか。
A: TFSConfig Collection コマンドを使用すると、チーム プロジェクト コレクションのアタッチ、デタッチ、削除、またはクローンの作成を行えます。 「Collection コマンド [TFSConfig]」を参照してください。