Skip to main content

Azure DevOpsからGitHubへの移行について理解する

          GitHub Enterprise Importer は、Azure DevOpsからの移行を自動化できます。

Azure DevOps Cloud からの移行について

          GitHub Enterprise Importer を使用して、リポジトリを Azure DevOps から GitHub Enterprise Cloud (GitHub.com または GHE.com) に移行できます。

          GitHub Enterprise Importer のみを使用して、Azure DevOps Serverからではなく、Azure DevOps クラウドから移行できます。 現在Azure DevOps Serverを使用していて、GitHub に移行する場合は、最初に Azure DevOps Cloud に移行できます。 詳細については、Azure サイトの [migrate to Azure DevOps](https://azure.microsoft.com/en-us/services/devops/migrate/) を参照してください。

          GitHubでエンタープライズ アカウントを作成する前に、企業がEnterprise Managed Usersを使用するかどうかを決定します。 これは、メンバーの認証方法と、ID とアクセスの管理方法に影響します。 「[AUTOTITLE](/enterprise-cloud@latest/enterprise-onboarding/getting-started-with-your-enterprise/choose-an-enterprise-type)」を参照してください。

          GitHub と Azure DevOps の違いの詳細については、「[AUTOTITLE](/migrations/ado/key-differences-between-azure-devops-and-github)を参照してください。

Azure PipelinesとAzure Boardsのサポート

Azure PipelinesとAzure Boardsの両方を、GitHub エクスペリエンスと完全に統合できます。 これらのサービスを引き続き使用できるようにエンタープライズ アカウントとAzure DevOpsを構成すると同時に、リポジトリを GitHub でホストするメリットも得られます。

Azure Pipelinesを GitHub Actions に移行する場合は、GitHub アカウント マネージャーにお問い合わせください。

移行されるデータ

          GitHub Enterprise Importer では現在、次のリポジトリ データの Azure DevOps から GitHub Enterprise Cloud への移行がサポートされています。
  • Git ソース (コミット履歴を含む)
  • Pull Request
  • pull request のユーザー履歴
  • プルリクエスト内の作業項目リンク
  • プルリクエストに対する添付ファイル
  • リポジトリのブランチ ポリシー (ユーザー スコープのブランチ ポリシーとリポジトリ間ブランチ ポリシーは含まれません)

移行されたデータに関する制限

移行できる GitHub Enterprise Importer には制限があります。 GitHubの制限に起因するものもあれば、GitHub Enterprise Importer自体の制限によるものです。

          GitHub の制限事項

* 1 つの Git コミットに対する 2 GiB サイズの制限: Git リポジトリ内の 1 つのコミットは、2 GiB を超える可能性はありません。 いずれかのコミットが 2 GiB を超える場合は、コミットを 2 GiB 以下の小さなコミットに分割する必要があります。 * Git 参照の 255 バイトの制限: 255 バイトを超える名前を持つ Git 参照 (一般に "ref" と呼ばれる) は 1 つもありません。 通常、これは、参照の長さ 255 文字を超えることはできませんが、絵文字などの ASCII 以外の文字が複数のバイトを消費する可能性があることを意味します。 いずれかの Git 参照が大きすぎる場合は、明確なエラー メッセージが返されます。 * 100 MiB ファイル サイズの制限: 移行が完了すると、Git リポジトリ内の 1 つのファイルは 100 MiB を超えなくなります。 リポジトリの移行中に、この制限は 400 MiB に引き上げられます。 Git LFSを使用して大きなファイルを格納することを検討してください。

          GitHub Enterprise Importer の制限事項
  • Git リポジトリの 40 GB のサイズ制限 (パブリック プレビュー): この制限はソース コードにのみ適用されます。 リポジトリ アーカイブが制限を超えているかどうかをチェックするには、git-sizer ツールを使用して出力の合計 BLOB サイズを確認します。 git-sizer ツールは、大きなファイル、BLOB サイズ、コミット サイズ、移行に影響する恐れがあるツリー数に関連する潜在的な問題を特定することにも役立ちます。
  •         **400 MiB ファイル サイズの制限:**GitHub Enterprise Importerを使用してリポジトリを移行する場合、Git リポジトリ内の 1 つのファイルが 400 MiB を超える可能性はありません。 大きなファイルを格納するために Git LFS を使用することを検討してください。
    
  •         **
            Git LFSオブジェクトは移行されません:**ImporterはGit LFSを使用するリポジトリを移行できますが、LFS オブジェクト自体は移行されません。 これらは、移行完了後にフォローアップ タスクとして移行先にプッシュできます。
    
  •         **遅延コード検索機能:** リポジトリ移行後の検索インデックスの再作成には数時間かかることがあります。また、インデックスの再作成が完了するまで、コード検索で予期しない結果が返される可能性があります。
    
  •         **Organization 用に構成されたルールセットによって移行が失敗する可能性がある**: たとえば、コミット作成者のメール アドレスが `@monalisa.cat` で終わるように要求するルールを構成し、移行するリポジトリにこのルールに準拠していないコミットが含まれている場合、移行は失敗します。
    
  •         **マネキンの内容が検索できない場合あり:** マネキンは、インポートされた内容 (問題、pull request、コメントなど) が関連付けられているプレースホルダー ユーザーです。 割り当てられた問題など、マネキンに関連付けられている内容を検索しても、問題が見つからない可能性があります。 マネキンが回収されると、新しい所有者を介してコンテンツが見つかります。