首页 文章

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

提问于
浏览
0

更多的是“什么是最佳实践?”有点问题 .

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

虽然这没关系,但我们显然有一个定义的“构建”和“部署”设置,我想要改进 . 然而,我的问题是,当我们运行“wildfly:deploy”目标时,它会运行构建的maven安装部分!

本质上,部署到不同的环境会重建应用程序,因此我们无法保证与已测试的构建进行逐字节奇偶校验 .

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

谢谢大家!

2 回答

  • 1

    我不确定为什么需要使用Maven进行部署 . 为什么不使用 jboss-cli 工具?有了这个,你可以做类似的事情:

    jboss-cli.sh --connect --command="deploy target/your.war --force"
    

    这是"localhost"版本,它假设您没有为Wildfly创建任何用户,但它会让您了解您可以做什么 . CLI Docs以不同的方式进入deploy applications并在安全方面进行了大量扩展 .

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

  • 2

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

    您可以为部署创建专用的maven配置文件 - 这样您就可以灵活地使用maven只是为了构建和部署你想要的,或者使用你的 deploy 配置文件运行maven,并让它进行构建部署 .

    前往Wildfly maven plugin获取更多信息 . 它可以执行除部署之外的许多任务,包括通过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>
    

    现在您可以简单地运行 mvn clean package -Pjboss-deploy 并且maven将编译并打包您的应用程序,然后将生成的war或ear部署到正在运行的JBoss / Wildfly实例 . 您也可以通过 mvn wildfly:deploy 手动调用部署

    玩得开心 .

相关问题