如何构建EAR子项目并使用Jenkins进行部署?

时间:2012-09-19 11:41:07

标签: maven deployment jenkins

My 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两次。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

快速简便的解决方法

作为一种解决方法,我建议你使用一些Jenkin的插件,比如"M2 Extra Steps"。它允许您在一个或多个之前执行额外的操作。它们通常在构建之后用于执行诸如生成doc或部署内容之类的东西。

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

建议,从未尝试过

此刻,我没有一个正确的答案。我真的不知道如何在一个maven命令中做到这一点。我会尝试将weblogic部署阶段附加到安装。

耳子模块 - >的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>

它应该有效,但我再也没有尝试过。

不要犹豫要反馈

答案 2 :(得分:0)

我无法与Maven合作。但我解决它的方式(在詹金斯)是

  1. 使用父pom:proj / pom.xml
  2. 使用命令mvn clean install在Jenkins中创建预构建步骤
  3. 使用projEAR / pom.xml将主构建配置为weblogic:deploy
  4. 这导致运行两个命令:第一个mvn clean install后跟mvn weblogic:deploy