プロジェクト コレクションを移動する
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
プロジェクト コレクションは、Azure DevOps Server のデプロイ間で移動できます。 次に例を示します。
- 組織内に複数の 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 のデプロイにコレクションをアタッチすることはできません。
Note
コレクションをデタッチすると、ユーザーはそのコレクション内のプロジェクトにアクセスできなくなります。
移動するコレクションをホストするサーバー上の Azure DevOps の管理コンソールを開き、 Project Collections でそのコレクションを強調表示します。
[ General タブで、 Detach コレクションを選択します。
Detach プロジェクト コレクション ウィザードが開きます。
(省略可能) Provide のプロジェクト コレクションのサービス メッセージ ページの Servicing Message で、このコレクション内のプロジェクトに接続しようとするユーザーにメッセージを提供します。
[次へ] を選択します。
プロジェクト コレクションのデタッチに使用するReview 設定ページで、詳細を確認します。
設定を変更するには、 Previous を選択します。 正しいと思われる場合は、 Verify を選択します。
すべての準備チェックが正常に完了したら、 Detach を選択します。
Monitor で、プロジェクト コレクションのデタッチの進行状況ページで、すべてのプロセスが完了したら、Next を選択します。
(省略可能)このプロジェクト コレクションの Review 補足情報 ページで、ログ ファイルの場所を選択またはメモします。
[閉じる] を選択します。
管理コンソールのコレクションの一覧にプロジェクト コレクションが表示されなくなります。
2. コレクション データベースをバックアップする
コレクションをデタッチしたら、データベースをバックアップして他のサーバーに移動します。 このタスクを実行するには、SQL Server で提供されているツールを使用します。
- このタスクの詳細については、「SQL Server でのデータベースのバックアップと復元およびバックアップ スケジュールと計画の作成を参照してください。 デプロイに一致する SQL Server のバージョンを必ず選択してください。
重要
データベースは、同じバージョンまたはより新しいバージョンの SQL Server にのみ復元できます。 SQL Server データベースを以前のバージョンの製品に復元することはできません
元の展開で SQL Server の Enterprise エディションまたは Datacenter エディションを使用していて、Standard Edition を実行しているサーバーにデータベースを復元する場合は、SQL Server 圧縮を無効にして作成されたバックアップ セットを使用する必要があります。 データ圧縮を無効にしない限り、Standard Edition を実行しているサーバーに Enterprise または Datacenter エディションのデータベースを復元することはできません。 圧縮を無効にするには、Azure DevOps データベースの Disable SQL Server データ圧縮の手順に従います。
3. コレクション データベースを移動する
コレクションの移動の一環として、コレクションを移動する Azure DevOps Server のデプロイをサポートするように構成された SQL Server のインスタンスにコレクション データベースを復元、コピー、またはその他の方法で移動する必要があります。 データベースを移動する方法を選択できます。
SQL Server の別のインスタンスへのデータベースの移動の詳細については、次を参照してください。
4. コレクションを添付する
コレクション データベースを復元した後は、Azure DevOps Server の優先デプロイにコレクションをアタッチできます。 移動先の配置でレポートを使用する場合は、プロセスの一部として添付するコレクション用にレポート フォルダーと既定のレポートが作成されます。
コレクションを移動するデプロイのアプリケーション層をホストするサーバーで、Azure DevOps の管理コンソールを開きます。
Project Collections を選択し、 Attach Collection を選択します。
Attach プロジェクト コレクション ウィザードが開きます。
アタッチするプロジェクト コレクション データベースの選択 ページの SQL Server Instance で、コレクション データベースをホストするサーバーとインスタンスの名前を指定します (まだ表示されていない場合)。
Databases一覧で、アタッチするコレクション データベースを選択し、 次へを選択します。
プロジェクト コレクション情報の入力ページで、Nameにコレクションの名前を指定します (まだ存在しない場合)。
(省略可能) Descriptionで、コレクションの説明を指定します。
[次へ] を選択します。
プロジェクト コレクションのアタッチに使用する Review 設定 ページで、情報を確認します。
設定を変更するには、 Previous を選択します。 すべての設定が正しい場合は、[ 検証を選択します。
すべての準備チェックが正常に完了したら、 Attach を選択します。
Monitor のプロジェクト コレクションアタッチの進行状況ページで、すべてのプロセスが完了したら、Next を選択します。
(省略可能) このプロジェクト コレクションの補足情報の確認 ページで、ログ ファイルの場所を選択またはメモします。
[閉じる] を選択します。
プロジェクト コレクションが管理コンソールのコレクションの一覧に表示されます。
5. 移動したプロジェクト コレクションを構成する
コレクションを同じドメインに移動し、以前にコレクションをサポートしていたのと同じ Web アプリケーション ( および そのコレクションの管理者が Azure DevOps Server のこのデプロイにアクセスできるようにする場合は、この手順をスキップできます。
コレクションを移動したら、そのコレクションの Web アプリケーションとアクセス許可グループを適切な設定で更新します。
移動したコレクションを構成する
プロジェクト コレクションの各タブを開き、必要に応じて、現在の Azure DevOps Server 上のリソースの場所と一致するようにサービスと場所を反映するように設定を変更します。 これは、リソースをレポートするために特に重要です。 エラーが発生した場合は、アカウントにプロジェクト コレクションの管理者に必要なアクセス許可があること、および他のプロジェクト コレクション管理者が必要に応じて追加されていることを確認します。
このタスクの詳細については、「 プロジェクト コレクションの変更 およびプロジェクト コレクションの管理者アクセス許可の設定 を参照してください。
6. プロジェクトを構成する
コレクションを同じドメインに移動し、そのコレクション内のプロジェクトのユーザーが Azure DevOps Server のこのデプロイにアクセスできるようにする場合は、この手順をスキップできます。
移動したコレクションの管理者を構成した後、自分またはそれらの管理者は、そのコレクション内のプロジェクトにユーザーとグループを追加する必要があります。 デプロイによっては、Reporting Services でこれらのユーザーのアクセス許可を構成する必要がある場合もあります。
プロジェクトにユーザーを追加する
- このタスクの詳細については、「 プロジェクトにユーザーを追加するを参照してください。
移動したプロジェクトにリソースを追加する
- このタスクの詳細については、「 プロジェクトをサポートするためのリソースの構成を参照してください。
Q & A
Q: Azure DevOps Server のデプロイではレポートが使用されます。 操作方法コレクションの移動と共にレポートを移動しますか?
A: まず、元の展開でコレクションをサポートしていたレポート サーバーから移動するレポートを保存またはエクスポートする必要があります。 その後、移動されたコレクションをサポートするレポート サーバーに各レポートを手動でアップロードする必要があります。これは、時間の長いプロセスになる可能性があります。 すべてのレポートをアップロードするか、レポートのサブセットがビジネス ニーズを満たすかどうかを検討します。 すべてのレポートまたはレポートをアップロードする必要はありませんが、移動プロセスが完了すると、アップロードしたレポートのみが使用できるようになります。
また、コレクションを移動した後も、元の展開でウェアハウスと Analysis Services キューブを再構築する必要があります。そのため、元の展開では、存在しなくなったコレクションのレポートを作成しようとし続けなくなります。
レポートを移動する
元の展開でコレクションをサポートしていたレポート サーバーから移動するレポートをエクスポートまたは保存します。 詳細については、「レポートのエクスポートレポートの保存を参照してください。
レポート マネージャーの新しい環境でコレクションをサポートするレポート サーバー上の適切なフォルダーに移動する各レポートをアップロードします。
詳細については、「 フォルダーへのファイルのアップロード」を参照してください。
レポート マネージャーで、各レポートを編集して、データ ソースを新しいレポート サーバーに変更します。
データ ウェアハウスと Analysis Services を再構築する
Azure DevOps の管理コンソールを開きます。
ナビゲーション バーで Reporting を選択します。
Reportingで、[再構築開始を選択します。
[ウェアハウス データベースと Analysis Services データベースの構築] ダイアログ ボックスで、[OKを選択します。
Note
ウェアハウスの再構築が完了し、再構築の開始アクションが完了した後、データのリポジトリが完了します。 デプロイのサイズとデータの量によっては、プロセス全体が完了するまでに数時間かかる場合があります。
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>
のように指定します。 - 新しいデプロイ プールを使用してエージェントを再構成する必要があります。 参照用の デプロイ エージェント再構成スクリプト のサンプルを次に示します。
コレクションを移動する前にラボ管理リソースを削除する
- 指定したプロジェクト コレクションからすべてのグループ ホスト、ライブラリ共有、および環境を削除する方法については、「/External オプションを使用してTFSConfig Lab /Delete コマンドを参照してください。
コレクションの移動後に Lab Management リソースを構成する
Azure DevOps のアプリケーション層を構成します。
詳細については、「 SCVMM 環境のラボ管理の構成」を参照してください。
新しい SCVMM でゴールデン メインの仮想マシンとテンプレートを再作成し、仮想マシンとテンプレートをプロジェクト コレクションにインポートします。
詳細については、「 ラボ管理用の仮想マシンとテンプレートを作成して格納するを参照してください。
各プロジェクトの環境を再作成します。
詳細については、「 保存された仮想マシンとテンプレートを使用して SCVMM 環境を作成するを参照してください。
Q: 操作方法プロジェクト内の選択関数へのアクセスを制限しますか?
A: コレクション内の 1 つのプロジェクトにアクセスする権限を持つユーザーは、作業項目を変更したり、そのプロジェクトで他のアクションを実行する権限がない場合でも、そのコレクション内の他のプロジェクトを表示できます。 選択した成果物を作成または変更するために選択した機能へのアクセスを許可または制限したり、特にグループを作成したり、それらのグループに対する制限を構成したりすることで、選択した成果物を作成または変更したり、プロジェクトの表示を制限したりできます。