ビルド環境の構築
Omnibus GitLabはサポートしているすべてのOSバージョンのDockerイメージを提供しており、コンテナレジストリで入手できます。 ユーザーはこれらのイメージを使用してビルド環境をセットアップできます。 手順は以下のとおりです。
- Dockerをインストールします。 詳細は公式ドキュメントをご覧ください。
コンテナは、ビルドを完了するために4GBのメモリにアクセスする必要があります。 コンテナランタイムのドキュメントを参照してください。 Docker for MacとDocker for Windowsは、デフォルトのインストールでこの値を2GBに設定することが知られています。
-
gitlab-omnibus-builder
レジストリには、サポートされているすべての OS とバージョンのイメージが含まれています。 そのうちの一つを使って、パッケージをビルドすることができます。 例えば、Debian Stretch 用のビルド環境を準備するには、そのイメージをプルする必要があります。 使用するイメージのリビジョンは、.gitlab-ci.yml
ファイルのBUILDER_IMAGE_REVISION
変数に指定されています。 以下のコマンドでは、その値を${BUILDER_IMAGE_REVISION}
に代入してください。docker pull registry.gitlab.com/gitlab-org/gitlab-omnibus-builder/debian_9:${BUILDER_IMAGE_REVISION}
-
コンテナを起動し、そのシェルに入ります:
docker run -it registry.gitlab.com/gitlab-org/gitlab-omnibus-builder/debian_9:${BUILDER_IMAGE_REVISION} bash
-
Omnibus GitLabソースをクローンし、クローンしたディレクトリに移動します:
git clone https://gitlab.com/gitlab-org/omnibus-gitlab.git ~/omnibus-gitlab cd ~/omnibus-gitlab
-
true
Omnibus GitLab は、https://dev.gitlab.orgの内部リポジトリを使うように最適化されています。これらのリポジトリは、ソースツリーのルートにある.custom_sources.yml
ファイル (remote
キーで指定) で指定され、デフォルトで使われます。これらのリポジトリは一般には使えないので、個人でビルドする場合は、これらのリポジトリの公開代替リポジトリを使う必要があります。この代替リポジトリも同じファイルで提供され、alternative
キーで指定します。この2つの選択は、ALTERNATIVE_SOURCES
環境変数によって制御され、true
またはfalse
のどちらかを設定できます。この変数がtrue
に設定されている場合は、alternative
キーでマークされたリポジトリが使われます。同様に、カスタムフォークをソースとして使いたい場合は、.custom_sources.yml
ファイルを修正してalternate
として指定し、ALTERNATIVE_SOURCES
変数を xml-ph-0012 に設定します。 - デフォルトでは、Omnibus GitLabは事前にコンパイルされたアセットを含むDockerイメージを使用します。
config/software/gitlab-rails.rb
- 同じインスタンス上のGitLabアプリケーションのミラーからビルドする場合は、何もする必要はありません。
- アップストリームのアセットを使用するには、
ASSET_REGISTRY
環境変数を次のように設定します。registry.gitlab.com
- 自分でコンパイルするには、
COMPILE_ASSETS
環境変数を次のように設定します。true
-
依存関係をインストールし、バイナリを生成します:
bundle install --path .bundle --binstubs
-
ビルドコマンドを実行して、ビルドプロセスを開始します:
bin/omnibus build gitlab
ビルドの結果は、ソースツリーのルートにある
pkg
フォルダで見ることができます。