将Java EE Web App部署到Wildfly/JBoss EAP
更多的是“什么是最佳实践?”之类的问题 我们目前有许多Java EE web应用程序通过web界面手动部署到JBoss EAP 7.0应用程序服务器。我正在考虑自动化这些,并有一个简单的Jenkins构建,它将使用Jenkins推广的构建插件和Wildfly maven插件部署到我们的UAT环境中 虽然这还可以,但我们有一个明确定义的“构建”和“部署”设置,我想对其进行改进。然而,我的问题是,当我们运行“wildfly:deploy”目标时,它会运行构建的maven安装部分 从本质上讲,部署到不同的环境会重建应用程序,因此我们无法保证与测试的版本的字节对字节奇偶校验 使用Jenkins/Maven在JBoss EAP/Wildfly上通过环境部署构建的最终版本是否有最佳实践方法将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安装部分 从本质上讲,部署到不
谢谢大家 我不知道为什么需要使用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还有一个将跳过安装阶段的。