使用maven脚本从Jenkins部署SOA / OSB组合

时间:2017-01-26 15:05:28

标签: oracle maven jenkins soa sar

我正在尝试使用Jenkins进行持续构建,并尝试使用Jenkins部署这些构建。

我已经配置了Jenkins自由样式作业来检查SVN中的代码并使用pre-integration-test -P<environment>调用顶级maven目标。

这项工作正在成功构建并将我的SOA组合部署到weblogic上。但我不想部署我的每一个版本。我想将我的部署限制在服务器上。

如果我将Jenkins作业配置为使用mvn clean package目标构建我的SOA。如何触发我的其他Jenkins作业来部署先前生成的工件。我们的基础设施中没有任何关联/神器。我们将构建存储在Jenkins工作区中。

我已经配置了两个Jenkins作业,一个使用mvn clean package构建应用程序,这将使用mvn pre-integration-test触发其他Jenkins作业。但是在我的第二份工作中,预集成测试再次从验证阶段再次开始我的sar开始。是否有任何插件可以部署我的sar而无需重新编译/重建它。

请帮我解决这个问题。

这是我的POM:

http://maven.apache.org/maven-v4_0_0.xsd“xmlns =”http://maven.apache.org/POM/4.0.0“xmlns:xsi =”http://www.w3.org/ 2001 / XMLSchema的实例“&GT;

<modelVersion>4.0.0</modelVersion>

<parent>
   <groupId>com.oracle.servicebus</groupId>
    <artifactId>sbar-project-common</artifactId>
    <version>12.2.1-1-0</version>
    <relativePath></relativePath>
</parent>

<groupId>ServiceBusApplication1</groupId>
<artifactId>SBProject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>sbar</packaging>

<description/>
 <build>
            <plugins>
                <plugin>
                    <groupId>com.oracle.servicebus-plugin</groupId>
                    <artifactId>oracle-servicebus-plugin</artifactId>
                    <version>12.2.1-1-0</version>
                    <configuration>
                    </configuration>    
                </plugin>
            </plugins>
  </build>

<profiles>  
   <profile>
        <id>Dev</id>
       <properties>
            <oracleServerUrl>http://serverDev.com:7001</oracleServerUrl>
            <oracleUsername>username</oracleUsername>
            <oraclePassword>password</oraclePassword>
            <oracleHome>path to oracle home</oracleHome>
            <customization>path to configuration file</customization>
        </properties>

   </profile>
 </profiles>

1 个答案:

答案 0 :(得分:0)

你的第二份工作再次构建整个jar的原因是你正在执行一个目标pre-integration-test,其中包含maven lifecycle phases之前的<{p}}

  

package - 获取已编译的代码并将其打包   可分发的格式,例如JAR。

     

pre-integration-test - 表演   执行集成测试之前所需的操作。这可能   涉及诸如建立所需环境之类的事情。

如果您想在不构建jar的情况下执行集成测试,可以将它们配置为在test阶段执行。

  

test - 使用合适的单元测试框架运行测试。这些测试不应要求打包或部署代码。

这可以使用executions来实现,并覆盖集成测试执行的阶段。 How do I get my Maven Integration tests to run