マニフェストファイルのアップロードによる複数リポジトリのインポート

GitLabでは、Androidリポジトリで使用されているようなマニフェストファイルに基づいて、必要なすべてのGitリポジトリをインポートすることができます。Android Open Source Project(AOSP)のような多くのリポジトリがあるプロジェクトをインポートするには、マニフェストを使用します。

前提条件

GitLab16.0で導入され、GitLab15.11.1とGitLab15.10.5にバックポートされたDeveloperロールの代わりにMaintainerロールの要件。

  • マニフェストのインポートソースが有効になっている必要があります。有効になっていない場合は、GitLab管理者に有効にしてもらうよう依頼してください。GitLab.comではマニフェストインポートソースはデフォルトで有効になっています。
  • マニフェスト・インポートを動作させるにはサブグループが必要なため、GitLabはデータベースにPostgreSQLを使用する必要があります。データベースの要件については、こちらをご覧ください。
  • インポート先のグループで、少なくともメンテナーのロールがあること。

マニフェスト形式

マニフェストは XML ファイルでなければなりません。Git サーバーへの URL を含むreview 属性を持つremote タグが 1 つあり、各project タグはname およびpath 属性を持たなければなりません。GitLabは、remote タグのURLとプロジェクト名を組み合わせてリポジトリへのURLを作成します。path属性は、GitLabのプロジェクトパスを表すために使われます。

以下はマニフェストファイルの有効な例です:

<manifest>
  <remote review="https://android.googlesource.com/" />

  <project path="build/make" name="platform/build" />
  <project path="build/blueprint" name="platform/build/blueprint" />
</manifest>

その結果、以下のプロジェクトが作成されます:

GitLabインポートURL
https://gitlab.com/YOUR_GROUP/build/makehttps://android.googlesource.com/platform/build
https://gitlab.com/YOUR_GROUP/build/blueprinthttps://android.googlesource.com/platform/build/blueprint

リポジトリのインポート

インポートを開始します:

  1. GitLabダッシュボードからNew projectを選択します。
  2. プロジェクトのインポートタブに切り替えます。
  3. マニフェスト・ファイルを選択します。
  4. マニフェスト XML ファイルを GitLab に提供します。
  5. インポートしたいグループを選択します(グループがない場合は最初にグループを作成する必要があります)。
  6. 利用可能なリポジトリの一覧] を選択します。この時点で、マニフェスト ファイルに基づくプロジェクト リストを含むインポート ステータス ページにリダイレクトされます。
  7. インポートするには
    • すべてのプロジェクトを初めてインポートします:すべてのリポジトリのインポートを選択します。
    • 個々のプロジェクトを再度インポートします:再インポート]を選択します。新しい名前を指定し、再インポートを選択します。再インポートすると、ソースプロジェクトの新しいコピーが作成されます。