Нажатие тегов с помощью Jenkins Git Publisher - несколько репозиториев Git (forks)

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

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

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

Ответ 1

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

  • В верхней части страницы конфигурации проекта Jenkins установите флажок "Эта сборка параметризирована" и добавьте строковый параметр "remote" с по умолчанию "master".
  • Добавить "Git Publisher" в качестве действия Post-build и тег "BUILD_TAG" и "Target remote name =" $remote "
  • В Build Triggers установите флажок "Триггерные сборки удаленно"
  • Мы используем GitLab и в меню "Настройки проекта" добавляем "Web Hook":

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

Добавьте веб-крючок для каждой вилки и убедитесь, что параметр "remote" соответствует имени репозитория, настроенному в Jenkins.