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

GitLab 11.2で導入されました

GitLabでは、Androidリポジトリで使用されているようなマニフェストファイルに基づいて、必要なすべてのGitリポジトリをインポートすることができます。 この機能は、Androidオープンソースプロジェクト(AOSP)のように多くのリポジトリがあるプロジェクトをインポートする必要がある場合に非常に便利です。

要件

マニフェストのインポートにはサブグループが必要なので、GitLabはデータベースにPostgreSQLを使用している必要があります。

データベースの要件については、こちらをご覧ください。

マニフェスト形式

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

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

<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/make https://android.googlesource.com/platform/build
https://gitlab.com/YOUR_GROUP/build/blueprint https://android.googlesource.com/platform/build/blueprint

リポジトリのインポート

でインポートを開始できます:

  1. GitLab ダッシュボードから新規プロジェクトをクリックします。
  2. プロジェクトのインポートタブに切り替えます。
  3. マニフェストファイルボタンをクリックします。
  4. GitLab にマニフェスト xml ファイルを提供します。
  5. インポートするグループを選択します(グループがない場合は、最初にグループを作成する必要があります)。
  6. この時点で、マニフェスト ファイルに基づくプロジェクト リストが表示されたインポート ステータス ページにリダイレクトされます。
  7. リストを確認し、Import all repositoriesをクリックしてインポートを開始します。

    Manifest status