移行の種類
行える移行は3種類あります。
- GitHub Enterprise Server インスタンスから別の既存の GitHub Enterprise Server インスタンスへの移行。 インスタンス上の任意のユーザあるいはOrganizationが所有する任意の数のリポジトリを移行できます。 移行を行う前に、双方のインスタンスにサイト管理者としてアクセスできなければなりません。
- GitHub.com Organization から GitHub Enterprise Server インスタンスへの移行。 Organizationが所有する任意の数のリポジトリを移行できます。 移行を実行する前に、GitHub.com Organization への管理アクセスと、ターゲット インスタンスへのサイト管理者アクセスが必要です。
-
_テスト実行_ は、[ステージング インスタンス](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)にデータをインポートする移行です。 これらは、移行が お使いの GitHub Enterprise Server インスタンス に適用された場合に何が "起こるか" を確認するのに役立ちます。__ **運用インスタンスへデータをインポートする前に、ステージング インスタンスでテスト実行を行うことを強くおすすめします。**
メモ
ハイパーバイザー間で GitHub Enterprise Server インスタンスを転送する場合は、ghe-migrator を使うことはお勧めしません。 代わりに、GitHub Enterprise Server Backup Utilities を使って新しい場所にバックアップして復元するか、新しい場所にレプリカを作成してからレプリカ アプライアンスにフェールオーバーすることをお勧めします。 詳細については、「Backup Utilities を使用したインスタンスのバックアップの構成」、「高可用性レプリカの作成」、「レプリカアプライアンスへのフェイルオーバーの開始」を参照してください。
データの移行
ghe-migrator では、リポジトリがすべての中心になります。 リポジトリに関係するほとんどのデータは移行できます。 たとえば、組織内のリポジトリは、リポジトリ_および_その組織、さらにそのリポジトリに関連付けられているユーザー、チーム、イシュー、プルリクエストのすべてを移行します。
以下の表の項目はレポジトリと共に移行できます。 移行されたデータのリストに表示されていない項目は、Git LFS 資産を含めて移行できません。
メモ
移行後は、フォークのリレーションシップは保持されません。
| 移行されたリポジトリに関連するデータ | メモ |
|---|---|
| ユーザー | ユーザーの @mentions は、ターゲットに一致するように書き直されます。 |
| 組織 | 組織の名前と詳細が移行されます。 |
| リポジトリ | Git ツリー、blob、コミット、および行へのリンクは、ターゲットにマッチするよう書き換えられます。 内部リポジトリはプライベート リポジトリとして移行されます。 アーカイブ状態は未設定です。 |
| ウィキス | すべてのWikiのデータは移行されます。 |
| Teams | チームの**@mentions**は、ターゲットに一致するように書き直されます。 |
| マイルストーン | タイムスタンプは保持されます。 |
| 問題 | Issueへの参照とタイムスタンプは保持されます。 |
| Issueのコメント | コメントへの相互参照は、ターゲットインスタンスに合わせて書き換えられます。 |
| Pull Request | プルリクエストへの相互参照はターゲットにマッチするよう書き換えられます。 タイムスタンプは保持されます。 |
| プルリクエストのレビュー | プルリクエストのレビューと関連データは移行されます。 |
| プルリクエストのレビューのコメント | コメントへの相互参照は、ターゲットインスタンスに合わせて書き換えられます。 タイムスタンプは保持されます。 ファイル レベルのコメントは移行されません。 |
| コミットコメント | コメントへの相互参照は、ターゲットインスタンスに合わせて書き換えられます。 タイムスタンプは保持されます。 |
| リリース | すべてのリリースデータは移行されます。 |
| プルリクエストまたはイシューに対して取られたアクション | ユーザの割り当て、タイトルの変更、ラベルの変更など、プルリクエストあるいはIssueに対するすべての変更は、それぞれのアクションのタイムスタンプと共に保持されます。 |
| 添付ファイル |
[Issue と pull request の添付ファイル](/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)が移行されます。 移行に関するこの機能は無効化できます。
| Webhooks(ウェブフック) | アクティブなwebhookのみが移行されます。 | リポジトリのデプロイキー | リポジトリのデプロイキーは移行されます。 | 保護されたブランチ | 保護されたブランチの設定と関連データは移行されます。
外部認証データの移行について
移行のソースの場所が、LDAP または SAML 認証を使用する GitHub 製品である場合、ghe-migrator はユーザー アカウントにリンクされている外部認証データは移行されません。 認証オプションの詳細については、GitHub Enterprise Server を参照し、GitHub Enterprise Server ドキュメントまたは GitHub Enterprise Cloud ドキュメントの「Enterprise の認証について」を参照してください。
移行先インスタンスに移行し、外部認証を構成する場合、ユーザーは、ソース インスタンスのアカウントと同じユーザー名またはユーザー ID を持つユーザー アカウントを使用して、移行先インスタンスにサインインする必要があります。 管理者は、インスタンスがユーザー アカウント名のマッピングに使用する外部属性を [Management Console] から確認できます。 詳しくは、「管理コンソールへのアクセス」をご覧ください。