11.9. JBoss EAP OpenShift プラットフォームでの起動可能な JAR の使用
11.9.1. oc コマンドを使用したバイナリービルドの実行 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを起動可能な JAR としてパッケージ化した後、JBoss EAP OpenShift プラットフォームでアプリケーションを実行できます。
OpenShift では、起動可能な JAR で EAP Operator の自動化トランザクションリカバリー機能を使用することはできません。
前提条件
- MicroProfile Config 開発用の Maven プロジェクトを作成した。例: MicroProfile Config クイックスタート を参照してください。
-
9.minor.micro.Final-redhat-XXXXXなどの最新の Maven プラグインを確認した。この場合の 9 はメジャーバージョン、minor はマイナーバージョン、micro はマイクロバージョン、X は Red Hat ビルド番号です。たとえば9.0.1.Final-redhat-00009です。
この手順の例では、以下のプロパティーを指定します。
-
Maven プラグインバージョンの場合は、
${bootable.jar.maven.plugin.version}です。
これらのプロパティーをプロジェクトで設定する必要があります。以下に例を示します。
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
手順
以下の内容を
pom.xmlファイルの<build>要素に追加します。以下に例を示します。<plugins> <plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-jar-maven-plugin</artifactId> <version>${bootable.jar.maven.plugin.version}</version> <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.0</artifactId> </manifest> </channel> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-xp-5.0</artifactId> </manifest> </channel> </channels> <feature-pack-location>org.jboss.eap.xp:wildfly-galleon-pack</feature-pack-location> <layers> <layer>jaxrs-server</layer> <layer>microprofile-platform</layer> </layers> <cloud/> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins>注記<cloud/>要素をプラグイン設定の<configuration>要素に含める必要があります。そのため、JBoss EAP Maven JAR プラグインは OpenShift プラットフォームを選択できます。アプリケーションをパッケージ化します。
$ mvn package-
oc loginコマンドを使用して、OpenShift インスタンスにログインします。 OpenShift で新しいプロジェクトを作成します。以下に例を示します。
$ oc new-project bootable-jar-project以下の
ocコマンドを入力してアプリケーションイメージを作成します。$ mkdir target/openshift && cp target/microprofile-config-bootable.jar target/openshift1 $ oc import-image ubi8/openjdk-17 --from=registry.redhat.io/ubi8/openjdk-17 --confirm2 $ oc new-build --strategy source --binary --image-stream openjdk-17 --name microprofile-config-app3 $ oc start-build microprofile-config-app --from-dir target/openshift4 注記OpenShift は CLI スクリプトコマンドのセットを起動可能な JAR 設定ファイルに適用し、クラウド環境に合わせて調整します。このスクリプトにアクセスするには、Maven プロジェクト
/target directoryのbootable-jar-build-artifacts/generated-cli-script.txtファイルを開きます。検証:
利用可能な OpenShift Pod のリストを表示し、以下のコマンドを実行して Pod のビルドステータスを確認します。
$ oc get podsビルドされたアプリケーションイメージを確認します。
$ oc get is microprofile-config-app出力には、名前、イメージリポジトリー、タグなどのビルドされたアプリケーションイメージの詳細が表示されます。この手順の例では、イメージストリーム名とタグの出力には
microprofile-config-app:latestが表示されます。アプリケーションのデプロイ:
$ oc new-app microprofile-config-app $ oc expose svc/microprofile-config-app重要起動可能な JAR にシステムプロパティーを指定するには、
JAVA_OPTS_APPEND環境変数を使用する必要があります。以下の例は、JAVA_OPTS_APPEND環境変数の使用方法を示しています。$ oc new-app <_IMAGESTREAM_> -e JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"新しいアプリケーションが作成され、起動します。アプリケーション設定は新しいサービスとして公開されます。
検証: ターミナルで以下のコマンドを実行し、アプリケーションが適切に動作するかどうかをテストします。
$ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json想定される出力:
{"result":"Hello jim"}