7.6. バイナリービルド
7.6.1. はじめに
OpenShift のバイナリービルドの機能では、開発者はビルドで Git リポジトリーの URL からソースをプルするのではなく、ソースまたはアーティファクトをビルドに直接アップロードします。ソース、Docker またはカスタムのストラテジーが指定された BuildConfig はバイナリービルドとして起動できます。ローカルのアーティファクトからビルドを起動する場合は、既存のソース参照をローカルユーザーのマシンのソースに置き換えます。
ソースは複数の方法で提供できます。 これは、start-build コマンドの使用時に利用可能な引数に相当します。
-
ファイルから (
--from-file
): これは、ビルドのソース全体が単一ファイルで構成されている場合です。たとえば、Docker ビルドはDockerfile
、Wildfly ビルドはpom.xml
、Ruby ビルドはGemfile
です。 -
ディレクトリーから (
--from-directory
): ソースがローカルのディレクトリーにあり、Git リポジトリーにコミットされていない場合に使用します。start-build
コマンドは指定のディレクトリーのアーカイブを作成して、ビルダーにソースとしてアップロードします。 -
アーカイブから (
--from-archive
): ソースが含まれるアーカイブがすでに存在する場合に使用します。アーカイブはtar
、tar.gz
またはzip
形式のいずれかを使用できます。 -
Git リポジトリーから (
--from-repo
): これはソースがユーザーのローカルマシンで Git リポジトリーの一部となっている場合に使用します。現在のリポジトリーの HEAD コミットがアーカイブされ、ビルド用に OpenShift に送信されます。
7.6.1.1. 使用例
バイナリービルドの場合は、ビルドでソースを既存の git リポジトリーからプルする必要がありません。バイナリービルドを使用する理由は以下のとおりです。
- ローカルコードの変更をビルドし、テストする。パブリックリポジトリーからのソースはクローンでき、ローカルの変更を OpenShift にアップロードしてビルドできます。ローカルの変更はコミットまたはプッシュする必要はありません。
- プロイベートコードをビルドする。新規ビルドをゼロからバイナリービルドとして起動することができます。ソースは、SCM にチェックインする必要なく、ローカルのワークステションから OpenShift に直接アップロードできます。
- 別のソースからアーティファクトを含むイメージをビルドする。Jenkins Pipeline では、Maven または C コンパイラー、これらのビルドを活用するランタイムイメージなどのツールでビルドしたアーティファクトを組み合わせる場合に、バイナリービルドが役立ちます。
7.6.1.2. 制限
- バイナリービルドは反復できません。バイナリービルドは、ビルドの開始時にアーティファクトをアップロードするユーザーに依存するため、そのユーザーが毎回同じアップロードを繰り返さない限り、OpenShift は同じビルドを反復できません。
- バイナリービルドは自動的にトリガーできません。バイナリービルドは、ユーザーが必要なバイナリーアーティファクトをアップロードする時にのみ手動で起動できます。
バイナリービルドとして起動したビルドには設定済みのソース URL が含まれる場合があります。その場合、トリガーでビルドが正常に起動しますが、ソースはビルドの最終実行時にユーザーが指定した URL ではなく、設定済みのソース URL から取得されます。