Skip to main content

リポジトリを Azure DevOps から GitHub に移行する

試用版の実行を実行し、リポジトリを Azure DevOps から GitHub に移行します。

前提条件

  • このガイドの前のすべてのフェーズを完了している必要があります。
  •         移行されるデータと、Importer の既知のサポート制限事項を理解していることを確認します。 詳細については、 [AUTOTITLE を](/migrations/ado/phase-1-understand-migrations-from-azure-devops-to-github)参照してください。
    
  • 必須ではありませんが、運用環境の移行の間は作業を停止することをお勧めします。 Importer は差分移行をサポートしていないため、移行中に発生した変更は移行されません。 運用環境の移行の間に作業を停止しない場合は、これらの変更を手動で移行する必要があります。

移行スクリプトを生成する

複数のリポジトリを GitHub Enterprise Cloud に一度に移行したい場合は、GitHub CLI を使って移行スクリプトを生成します。 結果のスクリプトには、リポジトリごとに 1 つの移行コマンドのリストが含まれます。

メモ

スクリプトを生成すると、PowerShell スクリプトが出力されます。 ターミナルを使っている場合は、.ps1 ファイル拡張子を持つスクリプトを出力し、Mac または Linux 用の PowerShell をインストールして実行する必要があります。

移行スクリプトを生成するには、gh ado2gh generate-script コマンドを実行します。

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

上のコマンドのプレースホルダーを次の値に置き換えます。

プレースホルダー
SOURCE移行元の Organization の名前
DESTINATION移行先の Organization の名前
FILENAME結果の移行スクリプトのファイル名

ターミナルを使っている場合は、生成されたスクリプトの実行に PowerShell が必要なので、.ps1 ファイル拡張子を使います。 Mac 用または Linux 用の PowerShell をインストールできます。

追加の引数

引数説明
--target-api-url TARGET-API-URLGHE.com に移行する場合は、--target-api-url TARGET-API-URL を追加します。TARGET-API-URL は Enterprise のサブドメインのベース API URL です。 (例: https://api.octocorp.ghe.com)。
--allパイプラインの再配線、チームの作成、Azure Boards統合の構成など、スクリプトに追加の機能を追加します。
--download-migration-logs移行された各リポジトリの移行ログをダウンロードします。 移行ログの詳細については、「GitHub Enterprise Importer の移行ログへのアクセス」を参照してください。

移行スクリプトの確認

スクリプトを生成したら、ファイルを確認し、必要に応じてスクリプトを編集します。

  • 移行したくないリポジトリがある場合は、対応する行を削除するかコメントにします。
  • 移行先の Organization でリポジトリに別の名前を使う場合は、対応する --target-repo フラグの値を更新します。
  • 新しいリポジトリの可視性を変更する場合は、対応する --target-repo-visibility フラグの値を更新します。 既定では、スクリプトはソース リポジトリと同じ表示範囲を設定します。

試運転を行う

企業固有の問題を明らかにするために、移行の試用を実行することを強くお勧めします。 試用版の実行では、次の内容について学習します。

  • 特定のリポジトリの移行が正常に完了できるかどうか。
  • 移行されたリポジトリを実行可能な状態に戻すことができるかどうか。
  • 移行の実行にかかる時間。

試用版の実行はいつでも実行でき、移行中に作業を停止する必要はありません。 試験的移行の完了にかかる時間を短縮するには、試験的実行のバッチを連続してスケジュールできます。 それらのリポジトリのユーザーは、都合のよいときに結果を検証できます。

  1. 試用版の移行のテスト用 Organization を作成します。

    すべての試験的実行に 1 つの Organization を使うことも、目的の移行先 Organization ごとに 1 つのテスト Organization を作成することもできます。 Organization が移行検証のみを目的としており、運用環境向けではないことを明確にするために、Organization 名の末尾に -sandbox を含めることを検討してください。 終わったら、テスト Organization を削除してかまいません。

  2. 試験的移行を実行します。

  3.        [AUTOTITLE](/migrations/ado/phase-6-follow-up-tasks) でフォローアップ タスクを完了できることを確認します。
    
  4. 移行の結果を検証するようにユーザーに依頼します。

  5. 試験的移行によって明らかになった問題を解決します。

  6. 必要に応じて、テスト用の Organization を削除します。

リポジトリを移行する

試用の実行が成功し、フォローアップ タスクを完了できた場合は、実際の移行に進むことができます。

警告

移行するリポジトリの作業は停止することをお勧めします。 移行中または移行後に行われた変更は、手動で移行する必要があります。

複数のリポジトリを移行するには、生成したスクリプトを実行します。 次のコマンドの FILENAME を、スクリプトの生成時に指定したファイル名に置き換えます。

  • ターミナルを使っている場合は、./ を使います。

    Shell
    ./FILENAME
    
  • PowerShell を使っている場合は、.\ を使います。

    Shell
    .\FILENAME