第6章 カスタムのビルダー
6.1. 概要
ビルドプロセス全体を行う固有のビルダーイメージを定義できるように、OpenShift Container Platform の カスタムビルドストラテジー は、コンテナーイメージの作成がよく使用されるようになり、できた差を埋めるために設計されました。ビルドが個別のアーティファクト (パッケージ、JAR、WAR、インストール可能な ZIP およびベースイメージなど) を生成する必要がある場合には、カスタムビルドストラテジーを使用する カスタムビルダーイメージ がこの要件を満たすのに最適です。
カスタムビルダーイメージは、RPM またはベースのコンテナーイメージの構築など、ビルドプロセスのロジックに組み込まれるプレーンなコンテナーイメージです。openshift/origin-custom-docker-builder
イメージは、カスタムのビルダーイメージの実装例として Docker Hub で入手できます。
さらに、カスタムビルダーは、単体または統合テストを実行する CI/CD フローなどの拡張ビルドプロセスを実装できます。唯一の制限として考えられるのは、ビルダーイメージの作成者の想像力と言えるかもしれません。
カスタムのビルドストラテジーを完全に活用するには、任意のオブジェクトをビルド可能な、カスタムビルダーイメージの作成方法を理解する必要があります。
6.2. カスタムビルダーイメージ
呼び出し時に、カスタムのビルダーイメージは、ビルドの続行に必要な情報が含まれる以下の環境変数を受け取ります。
変数名 | 説明 |
---|---|
|
|
|
ビルドするソースが含まれる Git リポジトリーの URL |
|
|
|
ビルドじに使用する Git リポジトリーのサブディレクトリーを指定します。定義された場合のみ表示されます。 |
|
ビルドする git 参照 |
|
ビルドオブジェクトを作成した OpenShift Container Platform のマスターのバージョン |
|
イメージをプッシュする先の Docker レジストリー |
|
ビルドするイメージの Docker タグ名 |
|
|
|
Docker ソケットの公開がビルド設定で有効化されている場合に Docker ソケットへのパスを指定します ( |
6.3. カスタムビルダーのワークフロー
カスタムビルダーイメージの作者は、ビルドプロセスを柔軟に定義できますが、ビルダーイメージは、OpenShift Container Platform 内でビルドがシームレスに実行されるように必要とされる以下の手順に従う必要があります。
-
Build
オブジェクト定義には、ビルドの入力パラメーターの必要情報がすべて含まれています。 - ビルドプロセスを実行します。
- ビルドでイメージが生成される場合には、ビルドの出力場所が定義されていれば、その場所にプッシュします。他の出力場所には、環境変数を使用して渡すことができます。