Дженкинс: Несколько репозиториев Git для одного проекта

Я хочу построить проект, используя два репозитория Git. Один из них содержит исходный код, а другой - скрипты сборки и развертывания.

Моя проблема в том, что мне нужно иметь репозиторий для создания и развертывания различных частей проекта (большой проект, несколько репозиториев, те же сценарии сборки и развертывания), но Дженкинс, похоже, не в состоянии справиться с этим (или Я не знаю/не нашел, как).

4 ответа

UPDATE

Несколько плагинов SCM теперь устарели, поэтому пользователи должны перейти на плагин трубопровода.

Старый ответ

Да, Дженкинс справится с этим. Просто используйте Multiple SCMs в разделе "Управление исходными кодами", добавьте свои репозитории, а затем перейдите в раздел "Дополнительно" каждого репозитория. Здесь вам нужно установить Local subdirectory for repo (optional) и Unique SCM name (optional).

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

Обновление для ответа harish - вам нужно установить несколько плагинов SCM для достижения этой функциональности.


Ответ от Петра Менсика прав, но по-видимому, это не доступно по умолчанию в Дженкинсе. Для получения этой функции необходимо установить несколько плагинов SCM: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin


У меня был тот же вопрос, когда я посмотрел на ответ плагина Multiple SCM, я заметил, что этот плагин теперь указан как устаревший. Существует уведомление, в котором рекомендуется использовать для этого конвейер.

Ниже приведен пример конфигурации того, как мне удалось это сделать с помощью конвейера.

node() {
 stage ('Extract') {
 parallel 'Extract':{
 dir('project1') {
 git url: 'ssh://git@githost/project1.git'
 }
 dir('project2') {
 git url: 'ssh://git@githost/project2.git'
 }
 } 
 }
}


Просто поделитесь своим опытом при работе с несколькими SCM. Если вы хотите добавить несколько репозиториев git в свою сборку jenkins, убедитесь, что другие версии плагина git совместимы с несколькими плагинами SCM. Вот список плагинов с версией, которая работала для меня:

  • GitHub API Plugin 1.44
  • Jenkins git клиентский плагин 1.6.2
  • Jenkins git плагин 2.0.1
  • Git Плагин сервера 1.2
  • Несколько SCM 0.2

Раньше я обновлялся до нескольких SCM 0.3, и я не смог добавить в него репозиторий git.

Rgds, Мана

licensed under cc by-sa 3.0 with attribution.