Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2024-07-09. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

Azure DevOps から GitHub Enterprise Cloud へのリポジトリの移行

GitHub CLI または GraphQL API を使って、Azure DevOps から GitHub Enterprise Cloud にリポジトリを移行することができます。

Tool navigation

GitHub Enterprise Importer

を使ったリポジトリの移行について

GitHub CLI または API を使って、移行を実行できます。

GitHub CLI を使うと移行プロセスが簡単になるので、ほとんどのお客様に推奨されます。 カスタマイズのニーズが高い熟練したお客様は、API を使って、GitHub Enterprise Importer との独自の統合を構築できます。

API の使い方を確認するには、ページの上部にあるツール スイッチャーを使います。

前提条件

  • 移行の試験的実行を行い、そのすぐ後で運用環境の移行を完了することを強くお勧めします。 試験的実行について詳しくは、「Azure DevOps から GitHub Enterprise クラウドへの移行の概要」をご覧ください。
  • 移行されるデータと、Importer の既知のサポート制限事項を理解していることを確認します。 詳しくは、「Azure DevOps から GitHub Enterprise クラウドへの移行について」をご覧ください。
  • 必須ではありませんが、運用環境の移行の間は作業を停止することをお勧めします。 Importer は差分移行をサポートしていないため、移行中に発生した変更は移行されません。 運用環境の移行の間に作業を停止しない場合は、これらの変更を手動で移行する必要があります。
  • GitHub.com の移行先の組織では、組織所有者であるか、移行者ロールを持っている必要があります。 移行者ロールについて詳しくは、「Azure DevOps からの移行のアクセスの管理」をご覧ください。

手順 1: ADO2GH extension of the GitHub CLI をインストールする

これが初めての移行の場合は、ADO2GH extension of the GitHub CLI をインストールする必要があります。 GitHub CLI の詳細については、「GitHub CLI について」を参照してください。

または、github/gh-ado2gh リポジトリの「リリース ページ」からスタンドアロン バイナリをダウンロードすることもできます。 このバイナリは、gh プレフィックスなしで直接実行できます。

  1. GitHub CLI をインストールします。 GitHub CLI のインストール手順については、GitHub CLI リポジトリを参照してください。

    注: GitHub CLI のバージョン 2.4.0 以降が必要です。 gh --version コマンドを使って、インストールされているバージョンを確認できます。

  2. ADO2GH extension をインストールします。

    Shell
    gh extension install github/gh-ado2gh
    

ADO2GH extension に関するヘルプが必要なときはいつでも、コマンドで --help フラグを使用できます。 たとえば、gh ado2gh --help とすると使用可能なすべてのコマンドの一覧が表示され、gh ado2gh migrate-repo --help とすると migrate-repo コマンドで使用できるすべてのオプションの一覧が表示されます。

手順 2: ADO2GH extension of the GitHub CLI を更新する

ADO2GH extension of the GitHub CLI は毎週更新されます。 最新バージョンを確実に使うため、拡張機能を更新してください。

Shell
gh extension upgrade github/gh-ado2gh

手順 3: 環境変数を設定する

ADO2GH extension を使って GitHub Enterprise Cloud に移行するには、その前に、移行元と移行先の Organization にアクセスできる personal access token を作成してから、personal access token を環境変数として設定する必要があります。

  1. GitHub Enterprise Cloud 上の移行先 Organization に対して認証を行う personal access token を作成して記録し、トークンがすべての要件を満たしていることを確認します。 詳しくは、「Azure DevOps からの移行のアクセスの管理」を参照してください。

  2. 移行元Azure DevOpsの Organization に対して認証を行う personal access token を作成して記録し、このトークンが要件をすべて満たしていることを確認します。 詳しくは、「Azure DevOps からの移行のアクセスの管理」を参照してください。

  3. personal access token に対する環境変数を設定します。次のコマンドの TOKEN は、上で記録した personal access token に置き換えます。 移行先の Organization には GH_PAT を使い、移行元の Organization には ADO_PAT を使います。

    • ターミナルを使っている場合は、export コマンドを使います。

      Shell
      export GH_PAT="TOKEN"
      export ADO_PAT="TOKEN"
      
    • PowerShell を使っている場合は、$env コマンドを使います。

      Shell
      $env:GH_PAT="TOKEN"
      $env:ADO_PAT="TOKEN"
      

手順 4: 移行スクリプトを生成する

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

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

1 つのリポジトリを移行する場合は、次のステップに進んでください。

移行スクリプトの生成

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

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

パイプラインの再調整、チームの作成、Azure Boards 統合の構成など、スクリプトに新しい機能を追加するには、--all フラグを追加します。

移行された各リポジトリの移行ログをダウンロードするスクリプトが必要な場合は、--download-migration-logs フラグを追加します。 移行ログについて詳しくは、「GitHub Enterprise Importer の移行ログへのアクセス」をご覧ください。

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

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

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

移行スクリプトの確認

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

  • 移行したくないリポジトリがある場合は、対応する行を削除するかコメントにします。
  • 移行先の Organization でリポジトリに別の名前を使う場合は、対応する --target-repo フラグの値を更新します。

ADO2GH の拡張機能としてではなく、スタンドアロン バイナリとして GitHub CLI をダウンロードした場合は、生成されたスクリプトを更新して、gh ado2gh ではなくバイナリを実行する必要があります。

手順 5: リポジトリを移行する

移行スクリプトを使って複数のリポジトリを移行すること、または gh ado2gh migrate-repo コマンドを使って 1 つのリポジトリを移行することができます。

複数のリポジトリを移行する

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

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

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

    Shell
    .\FILENAME
    

1 つのリポジトリを移行する

1 つのリポジトリを移行するには、gh ado2gh migrate-repo コマンドを使います。

Shell
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME

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

プレースホルダー
SOURCE移行元の Organization の名前
CURRENT-NAME移行するリポジトリの名前
DESTINATION移行先の Organization の名前
NEW-NAME移行されたリポジトリに設定する名前
TEAM-PROJECT移行するリポジトリのチーム プロジェクトの名前

移行を取り消す場合は、MIGRATION-ID を abort-migration 返された( migrate-repoから)ID に置き換えて、コマンドを使用します。

Shell
gh ado2gh abort-migration --migration-id MIGRATION-ID

手順 6: 移行を検証し、エラー ログを確認する

移行が完了したら、移行ログを確認することをお勧めします。 詳しくは、「GitHub Enterprise Importer の移行ログへのアクセス」を参照してください。

移行したリポジトリで健全性チェックを確認することをお勧めします。

アクティブ化するには Alt キーを押しながら↑キーを押します