Как запустить конвейер jenkins из нескольких хранилищ - PullRequest
0 голосов
/ 07 февраля 2019

Я относительно новичок в Дженкинс, и я работаю над большим проектом, который требует многократного репо для сборки.Я написал декларативный конвейер с командами оболочки, которые я использую, который извлекает из необходимых репозиториев и создает проект, и все работает, но я хочу подключить этот конвейер ко всем этим репозиториям, так что каждый раз, когда появляется новый запрос на коммит или слияние,запускает jenkins и запускает этот конвейер, а затем на основе результата сборки я помечаю git.Я знаю, как сделать это для одного репо, но я не знаю, как это сделать для нескольких репо.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Из-за нашей сетевой инфраструктуры я не мог использовать webhook для запуска jenkins, но решение, которое я использую сейчас, заключается в том, что я создал бегунок для каждого репо и написал команду curl для запуска jenkins, так что каждый раз, когда происходитНовый коммит для каждого из этих репозиториев запускает новое задание, выполняет эту команду curl и запускает мое задание jenkins.

Это команда curl, которую я использую в случае, если кому-то это нужно:

curl -i -X POST --user [JENKINS_USERNAME]:[JENKINS_PASSWORD] 'http://[JENKINS_IP]:[JENKINS_PORT]/job/[JENKINS_JOB_NAME]/build?token=[TOKEN_GENERATED_INSIDE_JENKINS]&cause=[ADDITIONAL_INFORMATION_THAT_YOU_WANT_TO_PRINT]'
0 голосов
/ 12 февраля 2019

Если у вас есть несколько репозиториев, которые должны запускать сборки Jenkins, соответствующие репозитории должны иметь на своем месте файлы Jenkins.

Ключ заключается в том, что каждый репозиторий должен вызывать JenkinsSharedLibrary, что дает вам возможность поддерживать ваши jenkins.строится в одном центральном источнике, вместо нескольких «жестко закодированных» файлов jenkins на репозиторий.

В этой статье описывается сценарий использования совместно используемой библиотеки и способы использования Jenkins в нескольких репозиториях git.

https://bjurr.com/managing-1000-repos-in-jenkins-with-a-breeze/

...