2013-05-14 2 views
35

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

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

+0

Это очень похоже на http://stackoverflow.com/questions/14843696/checkout-multiple-git-repos-into-same-jenkins-workspace –

ответ

29

UPDATE

Multiple СДМ плагин теперь не рекомендуется, так что пользователи должны перейти на Pipeline plugin.

Старый ответ

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

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

Обновление для harish s ответ - для достижения этой функциональности вам необходимо установить Multiple SCMs Plugin.

+0

Плагин нескольких SCM теперь указан как устаревший. –

2

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

  • GitHub API плагин 1,44
  • Дженкинс GIT клиент плагин 1.6.2
  • Дженкинс GIT плагин 2.0.1
  • Git-сервер плагин 1,2
  • Несколько SCMs 0,2

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

Rgds, Ману

9

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

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

node() { 
    stage ('Extract') { 
    parallel 'Extract':{ 
     dir('project1') { 
     git url: 'ssh://[email protected]/project1.git' 
     } 
     dir('project2') { 
     git url: 'ssh://[email protected]/project2.git' 
     } 
    } 
    } 
} 
+1

Это должен быть принятый ответ! Вы спасли мою жизнь. – renelopez

0

Когда вы добавляете еще один SCM через плагин Multiple SCM и выбираете Git. Вы можете указать «Проверить в подкаталог» с помощью опций «Дополнительные действия» для репо. Таким образом, вы можете иметь несколько репозиториев в рабочей области.

+0

Я понимаю, что это ответ на старый вопрос, но я столкнулся с вопросом с той же проблемой и нашел решение. – enkor

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