Omnibus GitLabへの新しいソフトウェア定義の追加
GitLabに新しいコンポーネントを追加するには、以下の手順に従ってください:
ビルド中のソフトウェアの取得とコンパイル
/config/software
にあるソフトウェア定義は、omnibusがソフトウェアを取得する場所、コンパイル方法、必要なフォルダへのインストール方法を指定します。 この部分は、GitLab用のOmnibusパッケージをビルドするときに実行されます。
git から取得するコンポーネントを追加する際には、ローカルミラーとアップストリームのリポジトリのクローンアドレスを/.custom_sources.yml
に追加する必要があります。
ローカルミラーは、ディストリビューションチームのメンバーがhttps://dev.gitlab.org/omnibus-mirrorプロジェクトで作成する必要があります。omnibus-builder deploy key
が有効になっている必要があります。
ソフトウェアサービスを含める方法については、ディレクトリ内の他のソフトウェアサービスを参照してください。
ライセンスの取り扱い
ほとんどのソフトウェアリポジトリにはライセンスファイルが含まれています。 明示的に含まれていない場合は、パッチファイルを使ってライセンスを追加してください。gem
やpip
などのパッケージマネージャを使ってインストールしたソフトウェアも、この方法を使う必要があります。
手動で追加したライセンスのパッチを作成し、config/patches/SOFTWARE_NAME/license/VERSION_NUMBER/add-license-file.patch
という命名規則でディレクトリパスに保存します。
ライセンスはプロジェクトの存続期間中に変更される可能性があり、実際に変更されることがあります。 この方法では、手動インストールされたライセンスを確認するようコントリビューターに注意を促すため、意図的にビルドを失敗させます。 ライセンスが変更されていない場合、
git mv
VERSION_NUMBER
パッチファイルを含むディレクトリを新しい.VERSION_NUMBER
ソフトウェア定義の依存関係を別のコンポーネントに追加します。
/config/projects/gitlab.rb
にある GitLab プロジェクトの定義に、dependency
の記述を追加します。より特定のコンポーネントがない限り、依存関係にする意味があります(例えば、gitlab-rails
によってのみ必要とされるコンポーネントの場合はconfig/software/gitlab-rails.rb
)。