第1章 ネイティブ実行可能ファイルの作成
Podman または Docker などのコンテナーランタイムを使用して、Quarkus アプリケーションからネイティブ実行可能ファイルを作成することができます。Quarkus は、ビルダーイメージを使用してバイナリー実行可能ファイルを作成します。これは、Red Hat Universal Base Images RHEL8-UBI および RHEL8-UBI minimal と共に使用することができます。Red Hat ビルドの Quarkus 1.7 は、quarkus.native.builder-image プロパティーのデフォルトとして registry.access.redhat.com/quarkus/mandrel-20-rhel8:20.3 を使用します。
お使いのアプリケーションのネイティブ実行可能ファイルには、アプリケーションコード、必須ライブラリー、Java API、および仮想マシン (VM) の縮小版が含まれます。縮小された仮想マシンベースは、アプリケーションの起動時間を高速化し、ディスクのフットプリントを小さくします。
手順
Getting Started プロジェクトの
pom.xmlファイルを開き、nativeプロファイルが含まれていることを確認します。<profiles> <profile> <id>native</id> <properties> <quarkus.package.type>native</quarkus.package.type> </properties> </profile> </profiles>注記Quarkus
nativeプロファイルを使用すると、ネイティブ実行可能ファイルおよびネイティブイメージテストの両方を実行することができます。以下のいずれかの方法を使用して、ネイティブ実行可能ファイルをビルドします。
Docker を使用してネイティブ実行可能ファイルをビルドします。
./mvnw package -Pnative -Dquarkus.native.container-build=truePodman を使用してネイティブ実行可能ファイルをビルドします。
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podmanこれらのコマンドは、
targetディレクトリーにgetting-started-*-runnerバイナリーを作成します。重要Quarkus アプリケーションをネイティブ実行可能ファイルにコンパイルすると、分析および最適化の際にメモリーを大量に消費します。
quarkus.native.native-image-xmx設定プロパティーを設定することで、ネイティブコンパイル時に使用されるメモリーの量を制限することができます。メモリー制限を低く設定すると、ビルド時間が長くなる可能性があります。
ネイティブ実行可能ファイルを実行します。
./target/getting-started-*-runnerネイティブ実行可能ファイルをビルドする場合、
prodプロファイルが有効化され、Quarkus ネイティブテストは、prodプロファイルを使用して実行されます。これは、quarkus.test.native-image-profileプロパティーを使用して変更することができます。