第1章 OpenShift ビルドストラテジーおよび Quarkus
OpenShift Container Platform は、コンテナー化されたアプリケーションを開発し、実行するための Kubernetes ベースのプラットフォームです。セキュリティー上および便宜上、OpenShift はアップストリームの Kubernetes ディストリビューションでは利用できないさまざまなビルドストラテジーをサポートします。
OpenShift ビルドストラテジーの概要
- Docker ビルド
- このストラテジーは、OpenShift クラスター外のアーティファクト (JAR ファイルまたはネイティブ実行可能ファイル) をローカルまたは CI 環境のいずれかでビルドし、OpenShift ビルドシステムに Dockerfile と共に提供します。コンテナーは OpenShift クラスター内にビルドされ、イメージストリームとして提供されます。
Red Hat ビルドの Quarkus 1.11 以降、OpenShift Docker ビルドストラテジーは、JVM 対象の Quarkus アプリケーションおよびネイティブ実行可能ファイルにコンパイルされた Quarkus アプリケーションをサポートする推奨されるビルドストラテジーです。ただし、後方互換性の理由から、S2I が引き続きデフォルトのデプロイメントストラテジーになります。quarkus.openshift.build-strategy プロパティーを使用して、デプロイメントストラテジーを設定できます。
- Source to Image (S2I)
- ビルドプロセスは OpenShift クラスター内で実行します。S2I を使用した JVM アプリケーションとしての Quarkus のデプロイは、完全にサポートされます。
- バイナリー S2I
- このストラテジーは、JAR ファイルを S2I ビルドプロセスへの入力として使用します。これにより、アプリケーションのビルドプロセスとデプロイメントが迅速化されます。
| ビルドストラテジー | Quarkus ツールのサポート | JVM のサポート | ネイティブのサポート | JVM Serverless のサポート | ネイティブ Serverless のサポート |
|---|---|---|---|---|---|
| Docker ビルド | はい | はい | はい | はい | はい |
| S2I バイナリー | はい | はい | いいえ | いいえ | いいえ |
| Source S2I | いいえ | はい | いいえ | いいえ | いいえ |