Как я могу запустить другое задание из конвейера jenkins (jenkinsfile)с помощью плагина GitHub Org?
как я могу вызвать сборку другого задания изнутри Jenkinsfile?
Я предполагаю, что это задание является еще одним репозиторием под тем же организация github, тот, который уже имеет свой собственный файл Дженкинса.
Я также хочу сделать это только в том случае, если имя ветви является master, так как нет смысла запускать нисходящие сборки любых локальных ветвей.
обновление:
stage 'test-downstream'
node {
def job = build job: 'some-downtream-job-name'
}
тем не менее, при выполнении я получаю ошибку
не найдено параметризованного задания с именем some-downtream-job-name
Я уверен, что эта работа существует в Jenkins и находится в той же папке, организации текущего. Это еще одна работа, которая имеет свою Jenkinsfile.
обратите внимание, что этот вопрос специфичен для Плагин Организации GitHub который автоматически создает и поддерживает задания для каждого репозитория и филиала из вашей организации GitHub.
3 ответов:
прежде всего, это пустая трата слота исполнителя, чтобы обернуть
buildшагnode. Ваш вышестоящий исполнитель будет просто сидеть без дела без причины.во-вторых, из многоотраслевого проекта можно использовать переменную окружения
BRANCH_NAMEчтобы сделать логику условной для текущей ветви.в-третьих,
в дополнение к вышеупомянутым ответам: я хотел начать работу с простым параметром, переданным во второй конвейер, и нашел ответ на https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow.
Так что я использовал:
stage ('Starting ART job') { build job: 'RunArtInTest', parameters: [[$class: 'StringParameterValue', name: 'systemname', value: systemname]] }
команда
buildв конвейере есть, чтобы вызвать другие задания в Дженкинсе.задание должно существовать в Jenkins и может быть параметризована. Что касается ветки, я думаю, вы можете прочитайте его из git
Comments