2017-01-26 2 views
1

Я пытаюсь сделать непрерывную сборку с Дженкинсом и попытаться развернуть эти сборки с помощью Jenkins.Развертывание композитов SOA/OSB от Jenkins с использованием сценариев maven

Я установил задание свободного стиля Дженкинса, чтобы проверить код из SVN и Invoke верхнего уровня maven с pre-integration-test -P<environment>.

Эта работа строит и разворачивает мои SOA-композиты на weblogic успешно. Но я не хочу разворачивать каждую сборку. Я хочу ограничить развертывание на сервере.

Если я сконфигурировал работу Jenkins для построения моей SOA с целью mvn clean package. Как я могу запустить другое задание Дженкинса для развертывания ранее созданных артефактов. В нашей инфраструктуре нет никакой взаимосвязи/искусственности. Мы храним наши сборки в нашем рабочем пространстве Jenkins.

У меня есть два задания Jenkins, которые строят приложение, используя mvn clean package, который будет запускать другую работу Дженкинса, используя mvn pre-integration-test. Но здесь, в моей второй работе, тест перед интеграцией снова начинается с проверки фазы, которая снова продлевает мой сар. Есть ли какой-либо плагин, который развертывает мой 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-instance»>

<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> 

ответ

0

причина, по которой ваша вторая работа построить всю баночку снова, потому что вы выполняете цель pre-integration-test, который включает в себя maven lifecycle phases до этого

package - взять скомпилированный код и упаковать его в свой распространяемый формат, такой как JAR.

pre-integration-test - выполнить действия, необходимые для проведения интеграционных испытаний. Это может включать такие вещи, как настройка требуемой среды.

Если вы хотите выполнить интеграционные тесты без создания банки, вы можете настроить их для выполнения в фазе test.

test - провести испытания с использованием подходящей модульной системы испытаний. Эти тесты не должны требовать, чтобы код был упакован или развернут.

Этого можно достичь с помощью executions и переопределения фазы выполнения интеграционных тестов. How do I get my Maven Integration tests to run

+0

Вот почему я использую цель перед интеграцией, потому что SOA/OSB развертывается через эту цель maven. используйте эту ссылку, чтобы понять, почему я использовал pre-integration-test для развертывания своих артефактов на weblogic. https://docs.oracle.com/middleware/1213/osb/develop/GUID-F7B8638E-1BE5-44A8-9590-F34E2489625C.htm#GUID-3DFCD3C5-6A28-46AA-9E25-6186D56C47D2 – aspire96

+0

Я не знаю, как пропустить предыдущие фазы. Я думал, мейн.package.skip = true может быть полезно. Но я не сработал. – aspire96

Смежные вопросы