在我的环境中,我有两个Wildfly服务器,我想在其中使用wildfly-maven-plugin进行部署。
服务器的名称dev01和dev02不同,但是具有相同的端口9993和用户名和密码。
我的理解是wildfly-maven-plugin仅支持单服务器部署。
如果问题还不够大,我们使用模块/子模块结构,其中war文件将构建在子模块中。
我正在使用两个配置文件wildfly-deploy-dev01和wildfly-deploy-dev02。
<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>
在主模块中,我跳过了它。
在战争子模块中:
<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
我在执行标签后设置配置,但没有成功。看来第二个配置文件会覆盖第一个配置文件。
因为我没有解析parsedVersion,所以我对最终名称进行了硬编码。
<finalName>${project.artifactId}-v${parsedVersion.majorVersion}.${parsedVersion.minorVersion}</finalName>
此刻,我迷上了Maven。有谁知道我如何在两台服务器上使用该插件进行部署?
谢谢, 马库斯
我尝试的方法:
答案 0 :(得分:2)
您应该能够在具有不同执行方式的单个配置文件中执行此操作。不需要多个配置文件。
<profiles>
<profile>
<id>wildfly-deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<id>wildfly-credentials<id>
<protocol>remote+https</protocol>
<port>9993</port>
</configuration>
<executions>
<execution>
<id>deploy-dev1</id>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<hostname>dev01.example.com</hostname>
</configuration>
</execution>
<execution>
<id>deploy-dev2</id>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<hostname>dev02.example.com</hostname>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profiles>
使用此方法,您只需要做mvn clean install -Pwildfly-deploy
。