GitLab インスタンスへのプロジェクトの移行

  1. Bitbucketクラウドから
  2. Bitbucketサーバー(Stashとしても知られています)から
  3. クリアケースより
  4. CVSより
  5. FogBugzより
  6. GitHub.comまたはGitHub Enterpriseから
  7. GitLab.comより
  8. ギテアより
  9. Perforceより
  10. SVNより
  11. TFVCより
  12. URLでレポから
  13. マニフェストファイルのアップロード(AOSP)
  14. ゲムナジウムより
  15. ファブリケーターより
  16. Jiraから(イシューのみ)

上記の特定のマイグレーションドキュメントに加えて、New Project ページから HTTP 経由で任意の Git リポジトリをインポートすることができます。 リポジトリのサイズが大きすぎると、インポートがタイムアウトする可能性があることに注意してください。

CI/CDの利点を得るために外部リポジトリに接続するオプションもあります。

自主管理GitLabからGitLab.comへの移行

Git リポジトリの移行だけが必要な場合は、URL を指定して各プロジェクトをインポートできます。 イシューやマージリクエストはインポートできません。

イシューやマージリクエストのようなメタデータをすべて保持したい場合は、インポート/エクスポート機能を使って自己管理のGitLabからプロジェクトをエクスポートし、それらのプロジェクトをGitLab.comにインポートすることができます。

GitLab のすべてのユーザー関連付け(コメント作成者など)は、プロジェクトをインポートしたユーザーに変更されます。 詳しくは、インポートノートを参照してください。

全てのデータを移行する必要がある場合は、APIを活用してセルフマネージドからGitLab.comに移行することができます。 セルフマネージドインスタンスからGitLab.comに移行するアセットの順番は以下の通りです:

注:GitLab.comに移行する場合、SCIMを使わない限りユーザーは手動で作成する必要があります。 APIを使ってユーザーを作成するには管理者権限が必要なので、セルフマネージドインスタンスに限られます。
  1. グループ
  2. プロジェクト
  3. プロジェクト変数

インポート/エクスポート機能の制限に留意してください。

Dockerのプルやプッシュを繰り返しながらコンテナレジストリを移行し、CIパイプラインを再実行してビルドのアーティファクトを取得する必要があります。

GitLab.com から自主管理 GitLab への移行

セルフマネージドGitLabからGitLab.comへの移行と基本的に同じプロセスです。 主な違いは、セルフマネージドGitLabインスタンスで管理者がUIやユーザーAPIを使ってユーザーを作成できることです。

セルフマネジメントGitLabインスタンス間の移行

あるGitLabインスタンスから別のインスタンスに移行する場合、例えば古いサーバーから新しいサーバーに移行する場合、インスタンスをバックアップし、新しいサーバーでそれを復元するのが最良の方法です。

2つのGitLabインスタンスをマージするイベント(例えば、両方のインスタンスに既存のデータがあり、片方をワイプできない場合)には、セルフマネージドGitLabからGitLab.comへのマイグレーションの説明を参照してください。

さらに、Users API を使用して、admin ユーザでユーザを移行することもできます。