私の環境では、wildfly-maven-plugin を使用してデプロイする 2 つの wildfly サーバーがあります。
サーバーの名前は dev01 と dev02 が異なりますが、ポート 9993 とユーザー名とパスワードは同じです。
私の理解では、wildfly-maven-plugin は単一サーバーの展開のみをサポートしています。
問題がそれほど大きくない場合は、war ファイルがサブモジュールでビルドされるモジュール/サブモジュール構造を使用します。
私は、wildfly-deploy-dev01 と wildfly-deploy-dev02 の 2 つのプロファイルを使用しています。
<profiles>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>wildfly-deploy-dev02</id>
<build>
[...]
<profiles>
メインモジュールではスキップしました。
war サブモジュールで:
<profiles>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
<finalName>${project.artifactId}-v1.0</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<id>wildfly-credentials<id>
<hostname>dev01.example.com</hostname>
<protocol>remote+https</protocol>
<port>9993</port>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
[same as above for hostname dev02.example.com]
</profiles>
最初はすべてうまくいくと思っていましたが、最後のサーバーだけが展開されることがわかりました。
mvn wildfly:deploy -P wildfly-deploy-dev01,wildfly-deploy-dev02
実行タグの後に構成を設定して遊んでみましたが、成功しませんでした。2 番目のプロファイルが最初のプロファイルを上書きしているようです。
さらに、parsedVersion が解析されていないため、finalname をハードコーディングしました。
<finalName>${project.artifactId}-v${parsedVersion.majorVersion}.${parsedVersion.minorVersion}</finalName>
現時点では、私はMavenで迷っています。プラグインを 2 つのサーバーにデプロイする方法を知っている人はいますか?
ありがとう、マーカス
私が試した方法: