Enterprise Live Migrations (ELM) CLI リファレンス

Azure DevOps サービス

この記事では、enterprise Live Migrations (ELM) の実行に使用する Azure DevOps CLI コマンドとパラメーターと、移行中に CLI が返す状態とステージ値の一覧を示します。

Commands

移行コマンド

命令 必須のパラメーター 省略可能なパラメーター HTTP Description
list --org --project--include-all--detect GET 移行を一覧表示します。 既定では、CLI は各リポジトリのアクティブな移行のみを返します。 --include-allを使用して、完了した移行、失敗した移行、中断された移行を含めます。
status --org--repository-id --detect GET 1 回の移行の詳細な状態を取得します。
create --org--repository-id--target-repository--agent-pool --target-owner-user-id--service-endpoint-id--github-token--validate-only--cutover-date--skip-validation--enable-boards-github-connection--enable-auto-discover-pipelines--pipeline-service-connection-id--detect 投稿 新しい移行を作成します。 --service-endpoint-idに合格しない場合、CLI はELM_GITHUB_TOKENをチェックし、デバイス フロー GitHub実行してターゲットに対して認証します。
pause --org--repository-id --detect PUT アクティブな移行を一時停止します。
resume --org--repository-id --validate-only--migration--detect PUT 停止した移行を再開します。
cutover set --org--repository-id--date --detect PUT カットオーバーの日付と時刻をスケジュールします。 値は将来である必要があります。
cutover cancel --org--repository-id --detect PUT スケジュールされたカットオーバーを取り消します。 ステージが Synchronizationされている間のみ有効です。ステージが Cutoverに進むと拒否されます。 サーバーがDateTimeOffset.MinValue0001-01-01T00:00:00+00:00を無視するため、null sentinel (scheduledCutoverDate) を送信します。
cutover review --org--repository-id --detect GET 承認を待っている未処理の項目とパイプライン検証の要件を一覧表示します。
cutover approve --org--repository-id --accept-failures--pipelines-verified--detect PUT 未処理の項目を受け入れるか、再配線されたパイプラインを確認して、カットオーバーを承認します。 少なくとも 1 つの --accept-failures または --pipelines-verifiedを指定します。 元に戻せない — 取り消し API なし。 abandon + 再作成を使用して回復します。
abandon --org--repository-id --remove-read-only--yes--detect DELETE 移行を中止します。 移行レコードは消去されず、パイプラインの再同期データは保持されるため、後で移行で再利用できます。 --yesに合格しない限り、確認を求めるメッセージが表示されます。

パイプラインの再配線コマンド (プレビュー)

移行されたGitHub リポジトリのソース Azure Repos リポジトリを参照するパイプラインの再配線。 再配線は、次の 2 つのモードのいずれかで、常に移行に使用できます。

  • 自動検出create--pipeline-service-connection-idと共に--enable-auto-discover-pipelinesを渡します。 ELM 同期ジョブは、ソース リポジトリをウォークし、それを参照するすべてのパイプラインのクローン定義を作成します。
  • 手動pipelines submitを使用してcreateした後に特定のパイプラインを登録します。 pipelines updateでは、両方のモードを混在させ、登録をいつでも調整できます。
命令 必須のパラメーター 省略可能なパラメーター HTTP Description
pipelines list --org--repository-id --detect GET パイプラインの再配線構成とパイプラインごとの状態を一覧表示します。
pipelines submit --org--repository-id--pipeline-ids --service-connection-id--repository-mapping--detect 投稿 再配線のために特定のパイプラインを登録します。
pipelines update --org--repository-id --add-ids--remove-ids--retry-ids--service-connection-id--repository-mapping--detect PUT 登録されたパイプラインのサービス接続を一括追加、削除、再試行、または変更します。 少なくとも 1 つの更新フラグが必要です。
pipelines retry --org--repository-id--pipeline-ids --detect PUT 失敗したパイプラインの再スワイプ エントリを再試行します。
pipelines delete --org--repository-id--migration-id --yes--detect DELETE 移行のパイプラインの再配線データ (構成と複製された定義) を削除します。 これを使用して、失敗した移行の再同期データをクリーンアップします。 abandon だけでは削除されません。

パラメーターの詳細

パラメーター タイプ によって使用される Description
--org URL All Azure DevOps組織の URL (例: https://dev.azure.com/<org>)。 この値を既定値として設定します。
--repository-id GUID すべて (除く) list リポジトリ GUID をAzure Reposします。 az repos show --query idから値を取得します。 移行は repositoryId によってのみ識別されます。API 応答には個別の移行 ID フィールドがなく、リポジトリごとに最大 1 つのアクティブな移行が存在する可能性があります。
--target-repository URL create ターゲット リポジトリの URL ( https://<enterprise>.ghe.com/<org>/<repo>など)。 http://またはhttps://で始める必要があります。 サーバーはこの値を検証します。
--target-owner-user-id 文字列 create ターゲット リポジトリ所有者のユーザー ID (ハンドル) をGitHubします。 サーバー側のトークン ベースの所有者解決が有効になっている場合、非推奨と無視されます。
--service-endpoint-id GUID create オプション。 Azure DevOpsターゲットへのコミットの同期に使用されるGitHub Enterprise Server 接続のサービス接続 ID です。 設定すると、GitHubデバイス フローはスキップされます。 ユーザー ID 検証とは無関係に、 --github-tokenELM_GITHUB_TOKEN を同時に指定することもできます。
--github-token 文字列 create ターゲット ホストでのユーザー ID 検証用の省略可能なGitHubユーザー トークン (または PAT)。 省略して--service-endpoint-idを指定しない場合、CLI はELM_GITHUB_TOKENをチェックし、デバイス フロー GitHub実行します。
--agent-pool 文字列 create 移行作業のエージェント プール名。
--validate-only フラグ createresume create: 移行前チェックのみを実行します。 resume: 検証専用モードに切り替えます。 検証のみの結果は、実行が成功してから 24 時間後に期限切れになります。そのウィンドウ内で完全な移行を開始 (または昇格) します。
--migration フラグ resume 成功した検証のみの実行を完全な移行に昇格させます ( validateOnly=falsestatusRequested=activeを設定します)。 前の検証のみの実行が status: Succeededで完了した場合にのみ有効です。 --validate-onlyと相互に排他的です。
--cutover-date ISO 8601 create 2030-12-31T11:59:00Zなど、作成時にカットオーバーを事前にスケジュールします。
--date ISO 8601 cutover set 2030-12-31T11:59:00Zなど、カットオーバーの日付と時刻をスケジュールします。 将来の予定である必要があります。
--skip-validation 文字列 create 検証ポリシー名のコンマ区切りリスト、または負以外の整数ビットマスク。 ポリシー名 (大文字と小文字を区別しない): NoneActivePullRequestCountPullRequestDeltaSizeAgentPoolExistsMaxFileSizeMaxPullRequestSizeMaxPushPackSizeMaxReferenceNameLengthTargetRepositoryDoesNotExistSourceRepositoryContainsLfsObjectsSourceRepositoryNotReadOnlyBoardsGitHubConnectionProvisioningAll
--enable-boards-github-connection (--enable-boards-gh) フラグ create カットオーバー時にAzure Boards GitHub接続をプロビジョニングすることを選択します。 既定ではオフです。 移行を実行する前に、Azure Boards GitHub アプリをターゲット GitHub組織にインストールする必要があります。
--enable-auto-discover-pipelines (--auto-discover) フラグ create カットオーバー時に自動パイプライン検出にオプトインします。 既定ではオフです。 --pipeline-service-connection-idが必要です。サービス接続なしでこのフラグを渡すと、CLI によってコマンドが拒否されます。
--pipeline-service-connection-id (--pipeline-sc-id) GUID create パイプラインの再配線のために作成時にアタッチされるProjectスコープのGitHubサービス接続 ID。 自動検出に必要です。手動モードではオプションです。接続を事前にアタッチするため、後で呼び出 pipelines submit 必要なのは --pipeline-idsだけです。
--accept-failures 整数 cutover approve カットオーバーを続行する前に受け入れる未処理の移行リソースの数。 この値や --pipelines-verifiedを指定します。
--pipelines-verified フラグ cutover approve 再配線されたすべてのパイプラインが検証されたことを確認します。 cutover reviewrequiresPipelineVerificationAcknowledgment: trueを返す場合に必要です。 1 回の呼び出しで --accept-failures と組み合わせることができます。
--pipeline-ids int list pipelines submitpipelines retry パイプライン定義 ID。 スペース区切り (42 43 44) またはコンマ区切り (42,43,44) の値を受け入れます。
--service-connection-id GUID pipelines submitpipelines update ProjectスコープのGitHubサービス接続 ID。 作成時またはpipelines update経由で接続が既に接続されている場合は、submitでは省略可能です。
--add-ids / --remove-ids / --retry-ids int list pipelines update 再配線セット内で追加、削除、または再試行するパイプライン ID。
--repository-mapping 文字列 pipelines submitpipelines update <sourceRepoId>=<targetOwner>/<targetRepo>形式のリポジトリ マッピング。 ターゲットは、URL ではなく owner/repo 形式である必要があります。 複数回指定できます。
--migration-id 整数 pipelines delete パイプラインの再配線のクリーンアップに使用される移行 ID。 migrations statusvalidationIssuesテキストのMigration NN: プレフィックスから読み取る。
--remove-read-only フラグ abandon カットオーバー後、ソース Azure DevOps リポジトリは読み取り専用に設定されます。 書き込みアクセスを復元するには、このフラグを追加します。 カットオーバー後にのみ適用されます。
--yes (-y) フラグ abandonpipelines delete 対話型の確認プロンプトをスキップします。 スクリプト化されたクリーンアップに役立ちます。
--include-all フラグ list 完了した移行、失敗した移行、中断された移行など、リポジトリごとの完全な移行履歴を返します。 (--include-inactive は非推奨のエイリアスです)。
--detect フラグ All Git リモートから組織を自動検出します (既定値: true)。 --detect falseを使用して無効にします。

移行ステージ

段階 Description
キューに登録済み 移行は受け入れられます。作業はまだ開始されていません。
Validation 移行前チェックの実行。
Synchronization リポジトリコンテンツのコピーと同期。
切り替え 最終的な同期を実行し、GitHubに移行します。
ReviewForCutover カットオーバーが未解決のエラーでスケジュールされた時刻に達し、 cutover approve (または再スケジュール) を待機しています。
ReadyForCutover 承認され、次の ELM ジョブが最終的なカットオーバーを実行するのを待機しています。
移行済み 移行が完了しました。 GitHubはレコードのシステムです。

移行の状態

地位 意味
Active 移行が実行されています。
成功しました 現在のフェーズは正常に完了しました。
完了 移行がターミナル Migrated ステージに達しました。
失敗 エラーが発生しました。 問題を解決した後、移行を再開できます。
停止中 手動で一時停止しました。 移行を再開できます。