【问题标题】:How to build EAR subproject and deploy it with Jenkins?如何构建 EAR 子项目并使用 Jenkins 进行部署?
【发布时间】:2012-09-19 11:41:06
【问题描述】:

我的 Maven 项目有一堆这样的子项目:

proj/
  projEAR/
  projCommon/

如何编译和构建 EAR 项目 + 将其同时部署到我的 Web 服务器?

我现在的做法是:

proj$ mvn clean install
[... builds everything ... ]
proj$ cd projEAR
projEAR$ mvn weblogic:deploy
[... deploys the EAR file ... ]

我想用一个命令来做到这一点。类似的东西

proj$ mvn clean install projEAR/pom.xml weblogic:deploy

这当然失败了,但我希望你能明白……

更新: 这一切的原因是 jenkins 只接受一个 pom 文件和命令。所以问题真的是如何配置 Jenkins 来运行 Maven 两次。

【问题讨论】:

    标签: maven deployment jenkins


    【解决方案1】:

    Jenkins 的 weblogic-deployer-plugin 怎么样。它会将您的 ear 文件部署到 weblogic 实例。见WebLogic Deployer Plugin

    【讨论】:

      【解决方案2】:

      快速简便的解决方法

      作为一种解决方法,我可以建议您使用一些 Jenkins 的插件,例如 "M2 Extra Steps"。它允许您在之前或之后执行额外的操作。它们通常在构建之后用于执行诸如生成文档或部署某些东西之类的事情。

      我知道这很好用......因为我经常使用这个技巧:)

      建议,没试过

      目前,我没有一个直接的答案。我真的不知道如何只用一个 Maven 命令来做到这一点。我会尝试附加 weblogic 部署阶段进行安装。

      ear 子模块 --> pom.xml

      <build>
          [...]
          <plugins>
              [...]
      
              <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>weblogic-maven-plugin</artifactId>
                 <version>2.9.1</version>
                 <executions>
                   <execution>
                     <configuration>
                          [...]
                     </configuration>
                     <goals>
                       <goal>install</goal>
                     </goals>
                   </execution>
                 </executions>
               </plugin>
           [...]
          <plugins>        
          [...]
      <build>
      

      它应该可以工作,但我再一次没有尝试过。

      不要犹豫,给予反馈

      【讨论】:

      • 看起来要走的路,我认为你应该将执行链接到一个阶段,以便它在正确的时刻执行:package
      • 你说得对,打包比安装更好。我专注于给定的命令,但 package 可能更适合它。
      • 我没有尝试过您的方法,而是在 Jenkins 中尝试过。但我相信你的想法也行得通。
      【解决方案3】:

      我无法让它与 Maven 一起工作。但我解决它的方式(在 Jenkins 中)是

      1. 在 Jenkins 中使用命令 mvn clean install 使用父 pom 创建一个 预构建步骤:proj/pom.xml
      2. 使用 projEAR/pom.xml 将主构建配置为 weblogic:deploy

      这会导致运行两个命令:首先是 mvn clean install,然后是 mvn weblogic:deploy

      【讨论】:

      • 正如我在解决方法中所说的那样,创建一个用于部署的构建后步骤会更符合逻辑,但如果它能够完成这项工作就可以了。
      猜你喜欢
      • 2016-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 2012-04-04
      • 1970-01-01
      相关资源
      最近更新 更多