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

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

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

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

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

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

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

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

    コンソールを開くサーバー上のローカル Administrators グループのメンバーであり、Azure DevOps Server または Team Foundation Administrators グループのメンバーであるか、 Edit サーバー レベルの情報 アクセス許可を Allow に設定する必要があります。

  2. アプリケーション層サーバーにサインインし、 管理コンソールを開きTeam プロジェクト コレクション ノードを開きます。

    管理コンソール、チーム プロジェクト コレクション ノード、Azure DevOps Server 2022 のスクリーンショット。

    管理コンソール、チーム プロジェクト コレクション ノード、Azure DevOps Server 2019-2020 のスクリーンショット。

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

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

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

レポートを構成する

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

  • コレクションで使用するレポート サーバーを構成します。
  • 既定のフォルダーの場所を編集するときに、サーバーに存在しないフォルダーのパスを入力し、そのサーバーにフォルダーを作成する権限がない場合、操作は失敗します。 そのサーバー上にフォルダーを作成する権限がない場合は、既存のフォルダーを指定する必要があります。
  • レポート サブフォルダーの既定の場所を削除するには、 Clear Configuration を選択します。
  • 構成を削除すると、コレクション内のすべての既存および将来のプロジェクトのレポート機能が削除されます。

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

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

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

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

  2. 管理コンソールから、 Team プロジェクト コレクション ページを開き、 コレクションの作成を選択します。

    管理コンソール、チーム プロジェクト コレクション ノード、コレクションの作成、Azure DevOps Server 2022 のスクリーンショット。

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

  3. Create Team Project Collection ウィザードで提供されるガイダンスに従います。

    Nameでは、64 文字以下の一意の名前 (短い方が適切) を指定し、スラッシュやその他の特殊文字は指定しないでください名前の制限

    [継承] オプションが選択された [コレクションの作成] ダイアログ、Azure DevOps Server 2022。

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

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

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

    Note

    オンプレミスの 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 を実行しているサーバーで管理者が自動的に作成したフォルダーを使用する必要がある場合は、 [Advanced 構成]を展開し既存のフォルダーへのパスを指定 を選択し作成したフォルダーの相対パスを指定します。

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

検証プロセス

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

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

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

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

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

    ウィザードが完了したら、 Close を選択します。

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

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

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

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

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

    [Detach collection] (Azure DevOps Server 2022) の選択のスクリーンショット。

    [Detach collection] (Azure DevOps Server 2019-2020) の選択のスクリーンショット。

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

    (省略可能) Provide a servicing message for the project collection page, in Servicing Message, specify a message for users who try to connect to projects in this collection.

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

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

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

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

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

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

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

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

Q & A

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

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

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

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

A: 複数のコレクションを作成する利点

1 つのコード ベースまたはプロジェクトの他のグループ化の運用ニーズを、別のグループ化の運用ニーズとより適切に分離できます。 各コレクションのデータは独自のデータベースに格納されるため、各コレクションの多くの側面を展開内の他のコレクションとは別に個別に管理できます。 たとえば、各コレクションを個別に停止および開始できます。 そのため、コレクションごとに異なる時刻にメンテナンス操作をスケジュールできます。

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

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

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

    • コレクション内のプロジェクトのニーズに応じて、自律的なコード ベースをビルド、分岐、マージ、および反復処理します。 コレクションの外部にあるコードの依存関係は、正式に管理できます。
    • 他のコレクションとは別に、各コレクションのデータをバックアップおよび復元します。
    • すべてのコレクション データベースを SQL Server の 1 つのインスタンスに格納するか、1 つ以上のインスタンスにデータベースを分散します。
    • コレクションをデタッチし、バックアップしてから、別の Azure DevOps デプロイに復元します。
    • リソースを再割り当てして、プロジェクトのサイズが時間の経過と同時に増加するにつれて、プロジェクトの需要をより適切に満たすようにします。
  • 運用上のセキュリティの強化。 各コレクションには独自のユーザーとアクセス許可のセットがあるため、異なるコード ベースを分離することは、異なるコレクションの下で分離できます。 管理者は、その特定のコード ベースに関連するプロジェクトを含むコレクションにのみユーザーを追加できます。

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

A: 複数のコレクションを作成する場合の欠点

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

  • 各コレクションのデータベースをバックアップおよび復元する必要があります。また、その他の管理タスクやメンテナンス タスクも、コレクションの数に比例して増加します。 たとえば、各プロジェクト コレクションのユーザーと権限のセットを個別に管理する必要があります。
  • Teams では、複数のコレクション間で作業項目をリンクすることはできません。
  • Teams では、コレクション間でコードを分岐またはマージすることはできません。
  • Teams はコレクション間でクエリを作成できません。

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

A: 各プロジェクトはコレクションに属しています。 コレクションの管理の詳細については、「 Get starteding managing your organization or project collectionを参照してください。

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

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

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

Q: コレクション操作方法展開をスケーリングしますか?

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