プロジェクト コレクションを移動する

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

プロジェクト コレクションは、Azure DevOps Serverの配置間で移動できます。 例:

  • organizationには複数のAzure DevOps Serverの展開があり、ビジネス ニーズに合わせてコレクションを別の展開に移動する必要があります。
  • コレクションを、Azure DevOps Serverの独自の展開を持つリモート オフィスに移動する必要があります。
  • SQL Serverの別のインスタンスを追加してAzure DevOps Serverのデプロイを拡張し、インスタンス間で既存のコレクションを配布する必要があります。
  • 以前のバージョンを実行しているAzure DevOps Serverの展開から個々のプロジェクト コレクションをデタッチし、現在のバージョンのAzure DevOps Serverを実行しているサーバーに移動して、展開を段階的にアップグレードする必要があります。 (この一般的な理由の 1 つは、新しいバージョンのAzure DevOps Serverに移行する必要があるチームもあれば、ツールやプロジェクトの理由から古いバージョンを維持する必要があるチームもあります)。このシナリオでは、機能の構成ウィザードを使用して、コレクション内の各プロジェクトをアップグレードする必要もあります。 詳細については、「Azure DevOps Server アップグレード後の機能の構成」を参照してください。 Azure DevOps Server 2019 では、機能の構成ウィザードは非推奨となりました。 このウィザードは TFS 2018 以前のバージョンでのみ実行できます。 Azure DevOps Servicesに定義されたプロジェクトは、サービスのアップグレードごとに自動的に更新されます。

コレクションの移動手順は、そのコレクションをホストしていた配置とその移動先の配置の特定の構成によって異なります。 たとえば、コレクションを新しいドメインに移動する場合は、そのドメイン内のユーザーをコレクション レベルとプロジェクト レベルで適切なグループに追加する必要があります。

プロジェクト コレクション全体を移動する方法を次に示します。 コレクションの一部を移動するには、「 プロジェクト コレクションを分割する」を参照してください。

前提条件

移動を開始する前に、自分が移動元と移動先の両方の配置で使用されているサーバーとソフトウェアの管理者になっていることを確認してください。 管理者でない場合は、 管理者として追加します

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

コレクションを移動する前に、まず、そのコレクションが実行されているAzure DevOps Serverの展開からデタッチします。 この手順をスキップしないことが非常に重要です。 コレクションをデタッチすると、すべてのジョブとサービスが停止し、コレクション データベースが停止します。 さらに、デタッチ プロセスは、構成データベースからコレクション固有のデータをコピーし、プロジェクト コレクション データベースの一部として保存します。 この構成データを使用すると、コレクション データベースを別のデプロイのAzure DevOps Serverにアタッチできます。 そのデータが存在しない場合は、そのデータの送信元以外のAzure DevOps Serverの展開にコレクションをアタッチすることはできません。

注意

コレクションをデタッチすると、ユーザーはそのコレクション内のプロジェクトにアクセスできなくなります。

  1. 移動するコレクションをホストするサーバーで Azure DevOps の管理コンソールを開き、 Project Collections でそのコレクションを強調表示します。

  2. [ 全般 ] タブで、[ コレクションのデタッチ] を選択します。

    プロジェクト コレクションをデタッチする

    プロジェクト コレクションのデタッチ ウィザードが開きます。

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

  4. [次へ] を選択します。

  5. [ プロジェクト コレクションのデタッチに使用する設定の確認 ] ページで、詳細を確認します。

  6. 設定を変更するには、[ 前へ] を選択します。 正しいと思われる場合は、[ 確認] を選択します。

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

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

    ウィザードに進捗が表示される

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

  10. [閉じる] を選択します。

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

    TFS 管理コンソールにデタッチされたことが表示されない

2. コレクション データベースをバックアップする

コレクションをデタッチしたら、データベースをバックアップして他のサーバーに移動します。 このタスクを実行するには、SQL Serverで提供されているツールを使用します。

[接続] ウィンドウのスクリーンショット。[タスクのバックアップFABRIKAM2014 > Tfs_TestProjects >> ] が選択されています。

重要

データベースは、同じバージョンまたはより新しいバージョンの SQL Server にしか復元することができません。 SQL Server データベースを以前のバージョンの製品
に復元することはできません。元の展開で SQL Server の Enterprise エディションまたは Datacenter エディションを使用していて、Standard Edition を実行しているサーバーにデータベースを復元する場合は、SQL Server圧縮を無効にして作成されたバックアップ セットを使用する必要があります。 データ圧縮を無効にしない限り、Enterprise または Datacenter Edition データベースを Standard Edition を実行しているサーバーに復元することはできません。 圧縮を無効にするには、「Azure DevOps データベースでデータ圧縮SQL Server無効にする」の手順に従います。

3. コレクション データベースを移動する

コレクションの移動の一環として、コレクションを移動するAzure DevOps Serverのデプロイをサポートするように構成されたSQL Serverのインスタンスにコレクション データベースを復元、コピー、またはその他の方法で移動する必要があります。 データベースを移動する方法を選択できます。

データベースのコピー ウィザードのウェルカム ページのスクリーンショット。

データベースを SQL Server の別のインスタンスに移動する方法については、次のトピックを参照してください。

4. コレクションをアタッチする

コレクション データベースを復元した後、コレクションをAzure DevOps Serverの優先配置にアタッチできます。 移動する配置でレポートを使用する場合、レポート フォルダーと既定のレポートは、プロセスの一部としてアタッチするコレクション用に構築されます。

  1. コレクションを移動するデプロイのアプリケーション層をホストするサーバーで、Azure DevOps の管理コンソールを開きます。

  2. [ プロジェクト コレクション] を選択し、[ コレクションのアタッチ] を選択します。

    Azure DevOps Server管理コンソール、Team Project Collections

    プロジェクト コレクションのアタッチ ウィザードが開きます。

  3. [アタッチするプロジェクト コレクション データベースの選択] ページの [SQL Server インスタンス] で、コレクション データベースをホストするサーバーとインスタンスの名前を指定します (まだ表示されていない場合)。

    SQL Server インスタンスが正しいことを確認する

  4. [ データベース ] ボックスの一覧で、アタッチするコレクション データベースを選択し、[ 次へ] を選択します。

  5. [ プロジェクト コレクション情報の入力 ] ページで、[名前] にコレクションの名前を指定 します (まだ存在しない場合)。

  6. (省略可能)[ 説明] で、コレクションの説明を指定します。

  7. [次へ] を選択します。

  8. プロジェクト コレクションのアタッチに使用する [設定の確認] ページで、情報を確認します。

  9. 設定を変更するには、[ 前へ] を選択します。 すべての設定が正しい場合は、[ 確認] を選択します。

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

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

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

  13. [閉じる] を選択します。

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

    構成が完了しない場合、コレクションを停止

5. 移動したプロジェクト コレクションを構成する

コレクションを同じドメインに移動し、以前にコレクションをサポートしていたのと同じ Web アプリケーションを使用し、そのコレクションの管理者がこのAzure DevOps Serverの展開へのアクセスを許可する場合は、この手順をスキップできます。

コレクションを移動したら、そのコレクションの Web アプリケーションとアクセス許可グループを適切な設定で更新します。

移動されたコレクションを構成する

  • プロジェクト コレクションの各タブを開き、必要に応じて、現在のAzure DevOps Server上のリソースの場所と一致するようにサービスと場所を反映するように設定を変更します。 これは、リソースのレポートに特に重要です。 エラーが表示される場合は、アカウントにプロジェクト コレクションの管理者に必要なアクセス許可があり、必要に応じて他のプロジェクト コレクション管理者が追加されていることを確認します。

    このタスクの詳細については、「プロジェクト コレクションを変更する」および「プロジェクト コレクションの管理者アクセス許可を設定する」を参照してください。

6. プロジェクトを構成する

同じドメイン内のコレクションを移動し、そのコレクション内のプロジェクトのユーザーに対するアクセスを許可する場合は、この手順をスキップAzure DevOps Server。

移動したコレクションの管理者を構成したら、あなたとその管理者のどちらかがそのコレクション内のプロジェクトにユーザーとグループを追加する必要があります。 デプロイによっては、Reporting Servicesでこれらのユーザーのアクセス許可を構成する必要がある場合もあります。

プロジェクトにユーザーを追加する

移動したプロジェクトにリソースを追加する

Q & A

Q: Azure DevOps Serverデプロイではレポートが使用されます。 コレクションを移動するとともにレポートを移動するにはどうすればいいですか。

A: まず、元の展開でコレクションをサポートしていたレポート サーバーから移動するレポートを保存またはエクスポートする必要があります。 次に、移動したコレクションをサポートするレポート サーバーに各レポートを手動でアップロードする必要があります。このプロセスには時間がかかる可能性があります。 すべてのレポートをアップロードするのか、レポートのサブセットでビジネス ニーズが満たされるのかを検討します。 すべてのレポートをアップロードするのか、一部のレポートしかアップロードしないのかに関係なく、移動プロセスの完了後はアップロードしたレポートにしかアクセスできなくなります。

また、コレクションを移動した後も、元の展開でウェアハウスと分析サービス キューブを再構築する必要があります。そのため、元の展開では、存在しなくなったコレクションのレポートを作成しようとし続けなくなります。

レポートを移動する

  1. 元の配置内でコレクションをサポートしていたレポート サーバーから移動するレポートをエクスポートまたは保存します。 詳細については、「レポートの エクスポート 」および「レポートの 保存」を参照してください。

  2. レポート マネージャーで、新しい環境でコレクションをサポートするレポート サーバー上の適切なフォルダーに移動する各レポートをアップロードします。

    詳細については、「 フォルダーにファイルをアップロードする」を参照してください。

  3. レポート マネージャーで、データ ソースを新しいレポート サーバーに変更するように各レポートを編集します。

データ ウェアハウスと Analysis Services をリビルドする

  1. Azure DevOps の管理コンソールを開きます。

  2. ナビゲーション バーで、[レポート] を選択 します

  3. [レポート] で、[再構築の開始] を選択します。

  4. [ Warehouse and Analysis Services データベースの再構築 ] ダイアログ ボックスで、[ OK] を選択します

    注意

    リビルドの開始操作が完了すると、ウェアハウスのリビルドが終了し、データの再作成が終了します。 デプロイのサイズとデータの量によっては、プロセス全体が完了するまでに数時間かかる場合があります。

Q: 操作方法展開プールや配置グループを含むチーム プロジェクト コレクションを移動しますか?

A: コレクションを別のデプロイに移動すると、デタッチされたコレクションにデプロイ グループがあるソース内のデプロイ プールごとに、新しいデプロイ プールがターゲット インスタンスに自動的にプロビジョニングされます。 Azure DevOps Server 2019 以降の場合、自動的にプロビジョニングされるデプロイ プールの名前はソース インスタンスと同じです。 以前のバージョンでは、デプロイ プール名の形式 <project name-deployment-group name>は です。 競合が発生した場合は、デプロイ プール名にランダムな GUID が追加されます。

移動が完了したら、次の操作を行います。

  • 複数のデプロイ プールが作成される可能性があります。 TfsConfig コマンドを使用して、重複するプールをマージできます。 たとえば、TfsConfig.exe deploymentpool /migrateDeploymentGroups /fromPool:<Source Pool Name> /toPool:<Target Pool Name> のように指定します。
  • 新しいデプロイ プールを使用してエージェントを再構成する必要があります。 参照用の デプロイ エージェント再構成スクリプト のサンプルを次に示します。

コレクションを移動する前にラボ管理リソースを削除する

  • 指定したプロジェクト コレクションからすべてのグループ ホスト、ライブラリ共有、および環境を削除する方法については、「 TFSConfig Lab /Delete コマンド/External オプション」を参照してください。

コレクションの移動後にラボ管理リソースを構成する

  1. Azure DevOps のアプリケーション層を構成します。

    詳細については、「 SCVMM 環境のラボ管理を構成する」を参照してください。

  2. 新しい SCVMM でゴールデン マスター仮想マシンとテンプレートを再作成し、仮想マシンとテンプレートをプロジェクト コレクションにインポートします。

    詳細については、「 ラボ管理の準備ができている仮想マシンとテンプレートを作成して格納する」を参照してください。

  3. 各プロジェクトの環境を再作成します。

    詳細については、「 格納されている仮想マシンとテンプレートを使用して SCVMM 環境を作成する」を参照してください。

Q: 操作方法プロジェクト内の関数を選択するためのアクセスを制限しますか?

A: コレクション内の 1 つのプロジェクトにアクセスする権限を持つユーザーは、作業項目を変更したり、そのプロジェクトで他のアクションを実行したりする権限がない場合でも、そのコレクション内の他のプロジェクトを表示できます。 特定のグループを作成し、それらのグループに対する制限を構成することで、選択した成果物を作成または変更するための特定の 機能へのアクセスを許可または制限 したり、プロジェクトの表示を制限したりできます。