「GitHub Enterprise Importer」の一般提供を開始
2023年6月12日、GitHubは「GitHub Enterprise Importer」の一般提供を開始しました。他のコードホスティングプラットフォームからGitHubへの移行を促進するセルフサービスのツールで、略称は「GEI」です。GitHub Enterprise Importerは、GitHub製品間での移行にも利用することもできます。
同日より一般公開され、すでに事前に登録した2,000社以上のユーザが利用しています。
【参考】:Introducing GitHub Enterprise Importer migrations
GitHub Enterprise Importerの概要
GitHub Enterprise Importer は、企業向けにGitHub Enterprise Cloudへの移行を支援する、カスタマイズ可能な移行ツールです。企業固有のニーズを満たすように、移行内容を細かくカスタマイズすることができます。
具体的には、リポジトリ移行用の個別の移行アクセス許可ロールを設定することで、移行を実行するチームや個々のユーザを指定でき、Organization の所有者が移行を行う必要がなくなります。同様に移行対象は、1 つのリポジトリ、一連のリポジトリ、またはOrganization全体を設定することができます。
GitHub CLI または API を使って、コードの現在の状態やすべてのコードの履歴・設定、issueや pull request などコラボレーション履歴を移行することができます。移行完了時にはログファイルが開き、エラーの有無を確認することができます。
【参考】:GitHub Enterprise Importer について
GitHub Enterprise Importerの移行パス
GitHub Enterprise Importerでは、移行元からさまざまなデータを取り込むことができます。他のコードホスティングプラットフォームからGitHubへの移行を促進する狙いがあります。具体的には、次の移行元と移行先をサポートしています。
・Azure DevOpsからGitHub.comやGitHub Enterprise Cloudへの移行 ・Bitbucket ServerとBitbucket Data CenterからGitHub.comやGitHub Enterprise Cloudへの移行 ・GitHub Enterprise ServerからGitHub.comやGitHub Enterprise Cloudへの移行 ・GitHub.comからGitHub Enterprise Cloudへの移行
【参考】:GitHub Enterprise Importer について
GitHub Enterprise Importerを使ってみる
GitHub Enterprise Importerでは、セルフサービスでGitHub CLI または API を使って必要とするコードやデータを移行することができます。移行の手順や移行の準備、移行後の確認など必要な情報は、移行ガイドに整理・公開されています。ツールを実際に使用する前に、机上で手順を確認します。
【参考】:GitHub Enterprise Importer を使用する 【参考】:GitHub Enterprise Importer の移行サポート
GitHub Enterprise Importerを使用したAzure DevOpsからの移行
Azure DevOpsからの移行では、リポジトリの移行、パイプラインの移行、残りの資産の移行、の3段階があります。移行の作業時間は、リポジトリやpull requestの数に左右されます。この必要な情報を収集するためには、「GitHub Migration Analyzer」というULIユーティリティを用います。
GitHub Enterprise Importerでは、pull requestや一部のブランチ ポリシーを含む Gitリポジトリのみが移行され、パイプラインや作業項目、成果物・テスト計画・リリース・ダッシュボードなどは移行されずにAzure DevOpsに残ります。
移行には、手動で移行または再作成する必要があるデータの一覧を作成し、その一覧を確認しながら残りの作業を進めます。
リポジトリの移行は、GitHub CLIまたはGraphQL APIを使います。「ADO2GH extension of the GitHub CLI」をインストールし、移行スクリプトを生成・実行します。
【参考】:GitHub Enterprise Importer を使用した Azure DevOps からの移行 【参考】:GitHub Migration Analyzer 【参考】:Azure DevOps から GitHub Enterprise Cloud へのリポジトリの移行
GitHub Enterprise Importerを使用したBitbucket Serverからの移行
Bitbucket Serverからの移行では、リポジトリ単位で行います。移行の作業時間は、リポジトリやpull requestの数に左右されます。
GitHub Enterprise Importerでは、Gitリポジトリとpull requestのみが移行され、CIパイプラインなどは移行されずにBitbucket Serverに残ります。また、GitHubとBitbucket Serverではアクセス許可の仕組みが異なり、リポジトリのアクセス許可は移行されません。
移行には、手動で移行または再作成する必要があるデータの一覧を作成し、その一覧を確認しながら残りの作業を進めます。
リポジトリの移行は、GitHub CLIを使います。「BBS2GH extension of the GitHub CLI」をインストールし、BLOBストレージに格納したリポジトリをスクリプトで移行します。GitHub Enterprise Importerを使った Bitbucket Serverからの移行はプライベート ベータ版です。
プライベートベータに登録することで、先行利用が可能です。
【参考】:GitHub Enterprise Importer を使用した Bitbucket Server からの移行 【参考】:Bitbucket Server から GitHub Enterprise Cloud へのリポジトリの移行
GitHub Enterprise Importerを使用したGitHub製品間の移行
GitHub製品間の移行では、Organization単位で移行するかリポジトリ単位で移行するかをあらかじめ決めておきます。GitHub Enterprise Serverからの移行の際には、リポジトリのみが移行可能です。
移行の作業時間は、リポジトリの数、pull request の数、問題の数、ユーザの数、プロジェクトと Wiki の使用状況などによります。この必要な情報を収集するためには、「GitHub Migration Analyzer」を用います。
リポジトリの移行は、GitHub CLIまたはGraphQL APIを使います。「GEI extension of the GitHub CLI 」をインストールし、移行スクリプトを生成・実行します。GitHub Enterprise Cloudへの移行はそのまま作業を進めて、GitHub Enterprise CloudへはBLOBストレージ設定後にスクリプトを生成・実行します。
【参考】:GitHub Enterprise Importer を使用した GitHub 製品間の移行 【参考】:GitHub Migration Analyzer
GitHub Enterprise Importerの利用実績は多く安心して利用できる
GitHub Enterprise Importerは、一般公開に先立って利用しているユーザも多く、公開日にはすでに40万を超えるリポジトリがGitHub Enterprise Cloudに移行されていることが明かされています。そのためGitHub Enterprise Importerは利用実績が多く、安心して移行に利用できるツールと言えるでしょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから