Создание двух git-репозиториев с Jenkins - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно построить два проекта Maven, которые доступны на Github.Первый проект создает библиотеку, которая нужна второму.Какой вариант рекомендуется сделать в Дженкинс?Создайте сценарий оболочки, который извлекает и строит оба проекта (в правильном порядке).Использовать конвейер?Если бы вы могли предоставить любой пример / соответствующую ссылку, это было бы здорово.Спасибо

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Этого можно добиться с помощью конвейерных заданий Jenkins.

Сначала нам нужно создать папку для проекта A, а в стороне вы можете загрузить исходный код с помощью плагина GIT и создать решение.

Создайте еще одну папку и загрузите в нее исходный код другого проекта, и вы сможете создать второе решение.

Например:

node{
stage('first project'){
    dir('project1'){
        git branch: '<Branch>', changelog: false, poll: false, url: '<First Repo URL>'
        sh 'mvn clean install'
    }
}
stage('second project'){
    dir('project2'){
        git branch: '<Branch>', changelog: false, poll: false, url: '<Second Repo URL>'
        sh 'mvn clean install'
    }
  }
}
0 голосов
/ 12 июня 2018

Вы можете достичь, используя 2 (насколько мне известно) варианта.Давайте рассмотрим проект A, который создает библиотеки, а проект B является зависимым.Ниже я описал два варианта с учетом двух ограничений.

  1. Проект B должен создаваться всякий раз, когда создается проект A
  2. Проект B также может быть построен отдельно, если есть изменения только в проекте Bно не с A

Вариант 1: Вам необходимо создать две "работы по сборке Maven" для проектов A и B. В проекте B у вас есть "Построить всякий раз, когда строится зависимость SNAPSHOT" в разделе "Триггеры сборки".

Это применимо только в том случае, если у проекта B pom.xml есть зависимость от встроенных артефактов проекта А, а артефакты - SNAPSHOT.Ниже изображение того же самого.Jenkins Info details

Опции 2: Вы можете создать две работы по фристайлу для обоих проектов A и B. Определите, что проект B является нисходящим для проектаA (Это также можно сделать наоборот), используя «Построить другие проекты» в «Опции пост-сборки» Проекта A.

И вы можете копировать артефактыиз проекта A в проект B с использованием Копировать плагин артефакта

Исключение: в идеале вышеуказанный шаг не требуется, если артефакты проекта A установлены на $HOME/.m2/repository и зависимость проекта B определена в pom.xml (или) оба проекта A и B используют опцию Private Maven Repository .

Предположение: я надеюсь, что при использовании одного конвейера будет сложно управлять этим сценарием.Хотя я ожидаю, что кто-то еще напишет с примером конвейера, чтобы просветить меня:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...