6.3. Maven プラグインを使用した JBoss EAP サーバーのプロビジョニング
アプリケーションの pom.xml
を更新してパッケージ化し、Maven プラグインを使用してカスタムプロビジョニングされた JBoss EAP サーバーにデプロイします。その後、カスタムプロビジョニングされた JBoss EAP サーバーで実行されているアプリケーションを OpenShift にデプロイできます。
前提条件
- JBoss EAP Maven プラグインと JBoss EAP Maven アーティファクトが、ローカルまたはリモートの Maven リポジトリーからアクセスできる。
- JDK 17 がインストールされている。
Maven がインストールされている。詳細は、Downloading Apache Maven を参照してください。
注記JDK 17 と Maven 3.8.5 またはそれ以前の Maven バージョンを使用している場合は、最新の Maven WAR プラグインを使用してください。
- Jakarta EE 10 アプリケーション用の Maven プロジェクトを作成している。詳細は、Maven を使用した Jakarta EE 10 アプリケーションの作成 を参照してください。
手順
以下のコンテンツを
pom.xml
ファイルに追加して、リモートリポジトリーから JBoss EAP BOM および JBoss EAP Maven プラグインを取得するように Maven を設定します。<repositories> <repository> <id>jboss</id> <url>https://maven.repository.redhat.com/ga/</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss</id> <url>https://maven.repository.redhat.com/ga/</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>
以下の内容を
pom.xml
ファイルの<build>
要素に追加します。必ず JBoss EAP Maven プラグインの最新バージョンを指定してください。以下に例を示します。<plugins> <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <version>1.0.0.Final-redhat-00014</version> 1 <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> 2 <artifactId>eap-8.0</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack> <location>org.jboss.eap:wildfly-ee-galleon-pack</location> 3 </feature-pack> <feature-pack> <location>org.jboss.eap.cloud:eap-cloud-galleon-pack</location> 4 </feature-pack> </feature-packs> <layers> <layer>cloud-server</layer> 5 </layers> <runtime-name>ROOT.war</runtime-name> 6 </configuration> <executions> <execution> <goals> <goal>package</goal> 7 </goals> </execution> </executions> </plugin> </plugins>
- 1
<version>1.0.0.Final-redhat-00014</version>
は、JBoss EAP Maven プラグインのバージョンの例です。JBoss EAP Maven プラグインのリリースの詳細は、Red Hat Maven リポジトリー (https://maven.repository.redhat.com/earlyaccess/all/org/jboss/eap/plugins/eap-maven-plugin/) を参照してください。- 2
- これは、JBoss EAP サーバーアーティファクトが定義されている JBoss EAP 8.0 チャネルを指定します。
- 3
- この機能パックのバージョンは、JBoss EAP チャネルから取得できます。Galleon
feature-pack
には、トリムされた JBoss EAP サーバーをプロビジョニングするcloud-server
などの Galleon レイヤーが含まれています。 - 4
- この機能パックは、クラウドのサーバー Galleon レイヤーを調整します。OpenShift 用のアプリケーションをビルドするには、この機能パックを使用する必要があります。
- 5
- この Galleon レイヤーは、クラウドで JBoss EAP アプリケーションを実行するときに必要な機能を備えたサーバーをプロビジョニングします。
- 6
- この設定オプションを使用すると、デプロイを HTTP ルートコンテキストに登録できます。
- 7
- このプラグインゴールを使用すると、サーバーのプロビジョニング、アプリケーションのデプロイ、カスタム設定の CLI スクリプトの適用、カスタムコンテンツのサーバーインストールへのコピーを行うことができます。
アプリケーションをパッケージ化します。
$ mvn package
ディレクトリー
target/server
には、デバッグまたは開発目的ですぐに使用できるサーバーとアプリケーションが含まれています。JBoss EAP S2I ビルドコンテキストでは、JBoss EAP maven-plugin によってプロビジョニングされたサーバーが/opt/server
の場所にある JBoss EAP イメージにインストールされます。詳細は、Source-to-Image (S2I) を使用した OpenShift でのアプリケーションイメージの作成 を参照してください。
デバッグを有効にして mvn package
コマンドを使用する場合 (-X
オプション)、スキーマ検証中にデバッグログが過剰に記録されるのを防ぐために、プロパティー -Dorg.slf4j.simpleLogger.log.com.networknt.schema=off
を追加してください。
検証
-
生成されたサーバー設定ファイル
target/server/standalone/configuration/standalone.xml
を確認できます。このファイルには、プロビジョニングされたサブシステムとアプリケーションのデプロイメントが含まれています。
デプロイメントを含む JBoss EAP サーバーがプロビジョニングされました。