Azure DevOps Serverでプロジェクト コレクションを管理する

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Azure DevOps Serverで複数のプロジェクトをホストする場合は、それらをグループ化して同じリソースを割り当てることで、より効率的に管理できます。 たとえば、特定のコード ベースにアクセスするすべてのプロジェクトなど、同様の要件や目的を持つプロジェクトをグループ化できます。 チーム プロジェクトのグループは、独自のユーザー グループ、サーバー リソース、および保守スケジュールを持つ独立したリソースとして管理できます。

プロジェクトのグループは、 プロジェクト コレクションと呼ばれます。 Azure DevOps Serverをインストールすると、すべてのプロジェクトを含む既定のコレクションが作成されます。 コレクションを作成するときは、そのコレクション内のプロジェクトで使用できる論理リソースと物理リソースを指定します。 それらのプロジェクトが使用するすべての成果物およびデータは、コレクションの単一のデータベースに格納されます。

次の図は、プロジェクト コレクションのデータベースを論理アーキテクチャと統合する方法を示しています。 プロジェクトを作成するときは、そのデータを格納するコレクションを指定します。

例: 可能なコレクション データベースの場所

情報の表示または既存のプロジェクトの構成

  1. Azure DevOps Server管理者として追加されていない場合は、今すぐ追加してください

    コンソールを開くサーバー上のローカル Administrators グループのメンバーであり、Azure DevOps Serverまたは Team Foundation Administrators グループのメンバーであるか、[Server-Level 情報の編集] アクセス許可が [許可] に設定されている必要があります。

  2. アプリケーション層サーバーにサインインし、 管理コンソールを開き、[ Team Project Collections ] ノードを開きます。

    管理 コンソール、[Team Project Collections] ノード、Azure DevOps Server 2022 のスクリーンショット。

    管理 コンソールの [Team Project Collections] ノード (Azure DevOps Server 2019-2020) のスクリーンショット。

  3. コレクションの名前を強調表示し、さまざまなタブから提供される情報を確認します。 一部のタブは、対応するアプリケーションが構成されている場合にのみ表示されます。

    対応するタブからは、次のタスクを実行できます。

    タブ タスク
    全般
    • コレクションの開始 または コレクションの停止: コレクションを開始または停止します。 コレクションを停止すると、プロジェクトは使用できなくなります。 通常、コレクションの停止は、コレクションの移動や分割などのメンテナンス操作をサポートするために行います。
    • コレクションが開始されると、コレクションの 停止 のみが表示されます。 コレクションが停止している場合は、 コレクションの開始 のみが表示されます。 コレクションの開始または停止は、完了までに数分かかります。 状態の変更を表示するには、[ 更新 ] を選択する必要がある場合があります。
    • 設定の編集: コレクションの説明または構成を編集します。
    • グループ メンバーシップ: コレクションのメンバーとしてユーザーまたはグループを追加または削除します。 詳細については、「 プロジェクト コレクションの管理者アクセス許可を設定する」を参照してください。
    • セキュリティの管理: コレクション グループのアクセス許可を管理します。 詳細については、「 アクセス許可とグループのリファレンス」を参照してください
    状態
    • アクティビティ ログを表示するか、ジョブを再実行します。
    プロジェクト
    • コレクションに対して定義されているプロジェクトを表示し、 プロジェクトを削除します
    • プロジェクトの詳細については、「プロジェクト の作成」を参照してください。

レポートの構成

レポート ページは、Azure DevOps にレポート サーバーを追加した場合にのみ表示されます。 次のタスクを実行するには、このページを選択します。

  • コレクションが使用するレポート サーバーを構成します。
  • 既定のフォルダーの場所を編集する際、サーバーに存在しないフォルダーのパスを入力した場合や、そのサーバーにフォルダーを作成するためのアクセス許可を持っていない場合、この操作は失敗します。 そのサーバーにフォルダーを作成するためのアクセス許可を持っていない場合は、既存のフォルダーを指定してください。
  • レポート サブフォルダーの既定の場所を削除するには、[ 構成のクリア] を選択します。
  • 構成を削除すると、コレクション内の既存および将来のすべてのプロジェクトのレポート機能が削除されます。

プロジェクト コレクションを作成する

プロジェクト コレクションを作成する前に、この記事で後述するように、「 複数のプロジェクト コレクションを作成することの長所と短所 」を参照してください。

  1. 管理者として追加されていない場合は、 今すぐ追加してください

    コンソールを開くサーバー上のローカル Administrators グループのメンバーであり、Team Foundation Administrators グループのメンバーであるか、 Server-Level 情報の編集 アクセス許可を 許可に設定する必要があります。

  2. 管理コンソールから[ Team Project Collections]\(チーム プロジェクト コレクション\ ) ページを開き、[ コレクションの作成] を選択します。

    管理コンソール、Team Project Collections ノード、コレクションの作成、Azure DevOps Server 2022 のスクリーンショット。

    [コレクションの作成] オプションが強調表示されているAzure DevOps Server管理コンソールのスクリーンショット。

  3. チーム プロジェクト コレクションの作成ウィザードで提供されているガイダンスに従います。

    [名前] には、64 文字以下の一意の名前を指定し (短いほど短い方が良い)、スラッシュやその他の特殊文字は指定しないでください。名前付け制限に記載されている特殊文字は指定しないでください。

    [コレクションの作成] ダイアログボックス (Azure DevOps Server 2022)、[継承] オプションが選択されています。

    [継承] オプションが選択されている [チーム プロジェクト コレクションの作成] ダイアログ ボックスのスクリーンショット。

  1. ユーザー インターフェイスを使用して作業の追跡をカスタマイズする場合は、[ 継承] を選択します。 この選択は、レポートのニーズをサポートするために Analytics サービスに依存します。

    XML 定義ファイルを使用して作業追跡をカスタマイズする場合は、[XML] を選択します。

    注意

    オンプレミスの XML プロセス モデルでは、 witadmin を使用して、プロジェクトのプロセスの一覧表示、インポート、エクスポート、変更を行うことができます。 継承されたプロセス モデルでは、 witadmin を使用してプロセス情報の一覧表示とエクスポートのみを行うことができます。 プロセス モデルの概要とサポートされる内容については、「 作業追跡エクスペリエンスをカスタマイズする」を参照してください。

ウィザードでは、次のリソースの構成をサポートします。 一部のリソースは、コレクションをホストするアプリケーション層サーバーが事前に構成されて対応するアプリケーションをサポートする場合にのみ構成できます。

データ層または SQL Server インスタンス

  1. Azure DevOps データ層サーバーの名前を指定します。 名前付きインスタンスを使用してこのプロジェクト コレクションのデータベースをホストする場合は、次の例のようにインスタンスの名前も指定する必要があります。

    Servername\Instancename

  2. コレクションのデータベースを作成する場合は、[このコレクションの新しいデータベースの作成] を選択します。 このオプションを使用するには、Visual Studio Team Foundation バックグラウンド ジョブ エージェントによって使用されるサービス アカウントに、SQL Serverのインスタンスにデータベースを作成するためのアクセス許可が必要です。

    または、既に存在するデータベースを使用する場合は、[ この既存 のデータベースを使用する] を選択し、データベースの名前を指定します。 このオプションでは、名前付きの SQL Server インスタンスに空のデータベースが存在し、書き込みのアクセス許可がある必要があります。

SQL Server Reporting Services

  1. SQL Server Reporting Servicesを使用するようにアプリケーション層を構成した場合はレポートが表示され、それ以外の場合は無効になります。 後で構成するには、「 レポート サーバーの追加」を参照してください。

  2. サーバーの情報とレポートをホストするフォルダーを確認し、[ 次へ] を選択します。 このオプションでは、ユーザー アカウントに Reporting Services を実行しているサーバー上にフォルダーを作成するアクセス許可がある必要があります。

    ビジネス インフラストラクチャのセキュリティ制限により、ウィザードでフォルダーを自動作成することが禁止されていない限り、既定のオプションを使用してフォルダーを作成するようにしてください。

  3. Reporting Servicesを実行しているサーバーで管理者が作成したフォルダーを使用する必要がある場合は、[詳細な構成] を展開し、[既存のフォルダーへのパスを指定する] を選択し、自動的に作成されたフォルダーの相対パスを指定します。

    [ パスの確認] を選択し、パスが正しい場合は [ 次へ] を選択します。

検証プロセス

  1. [ 準備チェック] で、チェックの状態を確認します。

    青い下線付きエラー インジケーターが 、エラー を含む構成の横に表示されます。 インジケーターを選択すると、問題についての詳細なメッセージが表示されます。 続行するには、すべてのエラーを解決する必要があります。

    すべての準備チェックに合格したら、[ 作成] を選択します。

  2. プロジェクト コレクションを作成するプロセスが開始されます。

    作成プロセスが成功したことを示す [チーム プロジェクト コレクションの作成] ダイアログ ボックスのスクリーンショット。

    ウィザードが完了したら、[ 閉じる] を選択します。

プロジェクト コレクションをデタッチまたは削除する

コレクションの移動や分割など、メンテナンス操作を実行する場合は、プロジェクト コレクションをデタッチします。 コレクションをデタッチすると、Teams はプロジェクトやソース コードにアクセスできません。

コレクションで定義されているプロジェクトに格納されているデータが不要になった場合は、コレクションを削除します。 コレクションを削除する 3 つの手順は、(1) コレクションのデタッチと (2) コレクション データベースの削除です。

コレクションをデタッチする

  1. 管理コンソールで、削除するコレクションの名前を強調表示し、[ コレクションのデタッチ] を選択します。

    [コレクションのデタッチ]、[2022 Azure DevOps Server] のスクリーンショット。

    [コレクションのデタッチ] の選択Azure DevOps Serverスクリーンショット。2019-2020 をAzure DevOps Server。

  2. チーム プロジェクト コレクションのデタッチ ウィザードで提供されるガイダンスに従います。

    (省略可能)[ プロジェクト コレクションのサービス メッセージを提供 する] ページの [ サービス メッセージ] で、このコレクション内のプロジェクトに接続しようとするユーザーのメッセージを指定します。

  3. すべての準備チェックが正常に完了したら、[デタッチ] を選択 します

    [ プロジェクト コレクションのデタッチの進行状況の監視 ] ページで、すべてのプロセスが完了したら、[ 次へ] を選択します。

  4. (省略可能)[ このプロジェクト コレクションの補足情報を確認する ] ページで、ログ ファイルの場所をメモします。

コレクション データベースを削除する

  1. SQL Server Management Studio開き、コレクション データベースをホストするSQL Server データベース エンジンのインスタンスに接続し、インスタンスを展開します。

    コレクション データベースの名前 (既定では TFS_CollectionName) を強調表示し、データベースを削除します。

    詳細については、「 データベースの削除」を参照してください。

プロジェクト コレクションは、管理コンソールのコレクションの一覧に表示されなくなります。

Q & A

Q: コレクションを管理するたコマンド ライン ツールはありますか。

A:TFSConfig コレクション コマンドを使用して、プロジェクト コレクションのアタッチ、デタッチ、削除、または複製を行うことができます。

Q: 複数のプロジェクト コレクションを作成することの長所と短所は何ですか?

開発作業でコードを分岐およびマージする機能の恩恵を受ける場合、または同じコードに関連する作業項目の状態を照会する必要がある場合は、プロジェクトを同じプロジェクト コレクションに統合する必要があります。

A: 複数のコレクションを作成するメリット

1 つのコード ベースまたは他のプロジェクトのグループの運用ニーズは、別のグループの運用ニーズから分離するほうがよいでしょう。 各コレクションのデータはそれぞれ独自のデータベースに格納されるため、配置内の他のコレクションとは別に各コレクションの多くの部分を個別に管理できます。 たとえば、各コレクションを個別に停止および開始できます。 これにより、各コレクションの保守の操作を異なる時間にスケジュールできます。

プロジェクトを複数のコレクションにグループ化すると、次の利点があります。

  • データベースとリソースの管理と配布における柔軟性とスケーラビリティの向上。 関連するプロジェクトのグループは、レポート、作業項目、プロセス ガイダンス、およびコード ベースを共有します。

    各コレクション用にデータベースを作成することで、チームと管理者は次のタスクを実行できます。

    • コレクション内のプロジェクトのニーズに合わせて、独立したコード ベースのビルド、分岐、マージ、および反復処理を行います。 コレクション外のコードの依存関係を正式に管理できます。
    • 他のコレクションとは無関係に、コレクションごとにデータのバックアップと復元を行います。
    • SQL Server の 1 つのインスタンスにすべてのコレクション データベースを格納するか、1 つ以上のインスタンスにデータベースを分散します。
    • コレクションをデタッチし、バックアップしてから、別の Azure DevOps デプロイに復元します。
    • 時間の経過と共にプロジェクトのサイズが大きくなるため、プロジェクトの要求に合わせてリソースを再割り当てします。
  • 運用セキュリティの強化。 各コレクションには独自のユーザーおよび権限のセットがあるため、さまざまなコード ベースをさまざまなコレクションの下で分離できます。 管理者は、特定のコード ベースに関連する 1 つ以上のプロジェクトを含むコレクションにのみユーザーを追加できます。

  • カスタム ワークフロー プロセスをサポートする機能の強化。 各コレクションは、プロセス テンプレート、作業項目の種類、リンクの種類、グローバル リスト、および作業項目フィールドを、その他のコレクションと切り離して管理します。 ワークフロー プロセスが異なるプロジェクトを異なるコレクションに分割することで、必要なカスタマイズのみをコレクション内のプロジェクトに公開できます。

A: 複数のコレクションを作成するデメリット

複数のプロジェクト コレクションを作成するメイン欠点は、Azure DevOps デプロイの複雑さを増やすことです。

  • 各コレクションのデータベースをバックアップおよび復元する必要があり、他の管理タスクや保守タスクも、使用しているコレクションの数に比例して増えていきます。 たとえば、各プロジェクト コレクションのユーザーとアクセス許可のセットを個別に管理する必要があります。
  • チームは、コレクション間で作業項目をリンクできません。
  • チームは、コレクション間でコードの分岐またはマージを行えません。
  • チームは、コレクション間でクエリを作成できません。

Q: コレクション レベルで管理されるリソースは何ですか?

A: 各プロジェクトはコレクションに属しています。 コレクションの管理については、「organizationまたはプロジェクト コレクションの管理を開始する」を参照してください。

Q: さまざまなチーム コレクションに格納されているデータは、レポートをどのようにサポートしていますか?

A: 1 つのリレーショナル データ ウェアハウスには、Azure DevOps デプロイのすべてのプロジェクト コレクションで定義されているすべてのプロジェクトからのすべてのレポート可能なデータが含まれます。 データ ウェアハウスに格納されたデータは、処理されて OLAP キューブに書き込まれます。 データは 1 つのデータ ウェアハウスに収集されるため、複数のプロジェクト コレクション間でレポートを作成できます。

レポートを作成またはカスタマイズするには、 TfsWarehouseDataReader ロールにユーザー アカウントを追加する必要があります。 レポート作成者には、リレーショナル データ ウェアハウスと Analysis Services キューブの両方への読み取りアクセスが必要です。 これらのアカウントでは、Azure DevOps デプロイ内のすべてのプロジェクト コレクションでホストされているすべてのチーム プロジェクトのデータを表示できます。 プロジェクトまたはコレクションへのアクセスを制限する方法はありません。

Q: コレクションで配置を拡大/縮小するにはどのようにすればよいですか。

A:「プロジェクト コレクションを移動する」または「プロジェクト コレクションを分割する」を参照してください。