Зависимая работа не запускается при построении SNAPSHOT - PullRequest
2 голосов
/ 11 апреля 2019

У меня есть проект (B, C, D), который зависит от общего проекта (A).Когда A построен B, C, D должен быть запущен с использованием конвейеров.Все сборки успешны.

Project-A создает JAR, который не публикуется нигде, кроме как локально (~ / .m2 /...)

Я обычно использую Jenkinsfiles, но длятеперь я также настроил минимальные конвейерные задания с кодом непосредственно в Jenkins, пытаясь заставить срабатывание триггера.

Ниже приведены минимальные конвейерные задания, которые я создал для тестирования.

Для всех проектов я поставил галочку «Строить всякий раз, когда строится зависимость SNAPSHOT»

В журналах сборки я вижу это для обоих проектов: [INFO] [jenkins-event-spy] Сгенерировано / var / lib /jenkins/workspace/ProjectName@tmp/withMavend4286f3f/maven-spy-20190411-121907-5107444902202263660415.log

Трубопровод проекта A

node{
  stage ('Build'){
      git branch: 'master', credentialsId: 'theID', url: 'git@github.com:ORG/PROJECT-A.git'
     withMaven(
        maven: 'Maven_3_6_0',
        jdk: 'Java1.8'

        ) {
          sh "mvn clean install"
    }
  }
}

Трубопровод проекта B

node{
    stage ('Build'){
      git branch: 'master', credentialsId: 'theID', url: 'git@github.com:ORG/PROJECT-B.git'
     withMaven(
        maven: 'Maven_3_6_0',
        jdk: 'Java1.8'
        ) {
            sh "mvn clean install"
        }
    }
}

Project B pom.xml объявление зависимостей

        <dependency>
            <groupId>com.myorg</groupId>
            <artifactId>projecta</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

Я не могу понять, что еще нужно для запуска проекта B при запуске A.

1 Ответ

1 голос
/ 28 мая 2019

Пожалуйста, смотрите FAQ по плагину Pipeline Maven> Мои нисходящие конвейеры не запускаются, даже если я использую «Построить при построении зависимости SNAPSHOT» *

Для настройки Jenkins Pipeline Mavenинтеграция для запуска нисходящих конвейеров на mvn install:

  • Либо измените глобальную конфигурацию:

    • Перейдите к «Управление конфигурацией Jenkins / Global Tools»
    • Нажмите «Добавить издателя» и выберите «Конвейер графиков»
    • В разделе «Триггеры нижестоящего конвейера» измените «Порог жизненного цикла Maven» с «развернуть» на «установить» image Global Configuration > Trigger Downstream Pipelines > Maven lifecycle threshold">
  • Или в сценарии восходящего конвейера настройте withMaven(options: [pipelineGraphPublisher(lifecycleThreshold: 'install')]) {...}

Пожалуйста, также не указывайтезабыть о нижестоящих конвейерах (проект B), чтобы включить «Построить при построении зависимости SNAPSHOT» (properties([pipelineTriggers([snapshotDependencies()])]))

...