2013-09-06 3 views
10

Наша команда переходит от CVS к Git. Мы намерены использовать подобный рабочий процесс как большинство проектов с открытым исходным кодом на GitHub - каждый разработчик берет вилку основного репо и затем отправляет запрос на перенос, который позволит мастеру проекта выполнить обзор кода перед слиянием изменений в основное репо.Pushing tags с Jenkins Git Publisher - несколько репозиториев Git (forks)

Jenkins позволяет нам добавлять несколько репозиториев Git (стандартный плагин Git, а не несколько SCM). Предположительно, я могу ввести URL для каждого разветвленного репо, а затем Дженкинс проверит все ветви на каждую вилку для изменений. Я даю каждому репозиторию имя, например «master», «developer1», «developer2» ...

Мы хотим, чтобы Jenkins помечала каждую сборку на соответствующей дистанционной/вилкой. Плагин Git Publisher требует, чтобы вы предоставили «целевое удаленное имя», но нам нужно, чтобы Дженкинс смог понять это сам.

ответ

15

Мне удалось решить эту проблему самостоятельно.

  • В верхней части страницы конфигурации проекта Jenkins проверьте «Эта сборка параметризирована» и добавьте строковый параметр «remote» с «master» по умолчанию.
  • Add «Гит Издательство» как действие после сборки, и Tag «$ BUILD_TAG» и Target имя удаленного = «$ дистанционного»
  • В Строить Триггеры, проверьте «Trigger строит удаленно»
  • Мы» повторное использование GitLab и в меню Настройки проекта добавить «Web крюк»:

    http://my-jenkins-server.com/job/my-project/buildWithParameters?token=secret&remote=master

Добавить веб-крючок для каждой вилки, и убедитесь, что «удаленный» параметр совпадает с именем хранилища настроенный в Дженкинсе.

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