将Java EE Web App部署到Wildfly/JBoss EAP

将Java EE Web App部署到Wildfly/JBoss EAP,java,jenkins,deployment,jboss,wildfly,Java,Jenkins,Deployment,Jboss,Wildfly,更多的是“什么是最佳实践?”之类的问题 我们目前有许多Java EE web应用程序通过web界面手动部署到JBoss EAP 7.0应用程序服务器。我正在考虑自动化这些,并有一个简单的Jenkins构建,它将使用Jenkins推广的构建插件和Wildfly maven插件部署到我们的UAT环境中 虽然这还可以,但我们有一个明确定义的“构建”和“部署”设置,我想对其进行改进。然而,我的问题是,当我们运行“wildfly:deploy”目标时,它会运行构建的maven安装部分 从本质上讲,部署到不

更多的是“什么是最佳实践?”之类的问题

我们目前有许多Java EE web应用程序通过web界面手动部署到JBoss EAP 7.0应用程序服务器。我正在考虑自动化这些,并有一个简单的Jenkins构建,它将使用Jenkins推广的构建插件和Wildfly maven插件部署到我们的UAT环境中

虽然这还可以,但我们有一个明确定义的“构建”和“部署”设置,我想对其进行改进。然而,我的问题是,当我们运行“wildfly:deploy”目标时,它会运行构建的maven安装部分

从本质上讲,部署到不同的环境会重建应用程序,因此我们无法保证与测试的版本的字节对字节奇偶校验

使用Jenkins/Maven在JBoss EAP/Wildfly上通过环境部署构建的最终版本是否有最佳实践方法


谢谢大家

我不知道为什么需要使用Maven部署。为什么不使用JBossCLI工具?有了它,您可以执行以下操作:

jboss-cli.sh --connect --command="deploy target/your.war --force"
这是“localhost”版本,它假设您没有为Wildfly创建任何用户,但它让您知道您可以做什么。在安全性方面,可以采用不同的方法,并且可以大大扩展


Jenkins可以像运行maven构建一样轻松地运行shell或批处理脚本,因此在Jenkins中实现这一点应该不会太困难。

我不确定为什么需要使用maven进行部署。为什么不使用JBossCLI工具?有了它,您可以执行以下操作:

jboss-cli.sh --connect --command="deploy target/your.war --force"
这是“localhost”版本,它假设您没有为Wildfly创建任何用户,但它让您知道您可以做什么。在安全性方面,可以采用不同的方法,并且可以大大扩展


Jenkins可以像运行maven构建一样轻松地运行shell或批处理脚本,因此在Jenkins中实现这一点应该不会太困难。

在开发工作流中,使用maven部署完全可以,这样可以节省时间和上下文切换

您可以为部署创建一个专用的maven配置文件——这样您就有了灵活性,可以只使用maven来构建和部署您想要的,也可以使用您的
deploy
配置文件运行maven,让它执行build+deploy

前往了解更多信息。除了部署之外,它还可以执行许多任务,包括通过jboss cli执行配置任务,但为了部署,您只需要以下几点:

<profile
  <id>jboss-deploy</id>
  <build>
    <plugins>
      <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>1.2.1.Final</version>
        </plugin>
     </plugins>
  </build>
 </profile>

在开发工作流中,使用maven部署完全可以,它节省了时间和上下文切换

您可以为部署创建一个专用的maven配置文件——这样您就有了灵活性,可以只使用maven来构建和部署您想要的,也可以使用您的
deploy
配置文件运行maven,让它执行build+deploy

前往了解更多信息。除了部署之外,它还可以执行许多任务,包括通过jboss cli执行配置任务,但为了部署,您只需要以下几点:

<profile
  <id>jboss-deploy</id>
  <build>
    <plugins>
      <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>1.2.1.Final</version>
        </plugin>
     </plugins>
  </build>
 </profile>

太棒了!谢谢你的回复。我曾考虑过这样做,因为最好将打包与部署分开,在打包阶段之后,如果不重新构建应用程序,maven就无法真正使用。我假设这需要在Jenkins机器上安装JBossCLI才能工作?我们将部署到远程机器,因此我将查阅文档。谢谢,太好了!谢谢你的回复。我曾考虑过这样做,因为最好将打包与部署分开,在打包阶段之后,如果不重新构建应用程序,maven就无法真正使用。我假设这需要在Jenkins机器上安装JBossCLI才能工作?我们将部署到远程机器,因此我将查阅文档。谢谢FWIW还有一个将跳过安装阶段的。FWIW还有一个将跳过安装阶段的。