Как запустить задание Jenkins на другом сервере Jenkins из конвейера Jenkins - PullRequest
0 голосов
/ 29 января 2020

Достаточно легко вызвать одно задание Jenkins из другого задания Jenkins, если они оба работают в одном экземпляре Jenkins:

pipeline {
   agent any

   stages {
      stage('call the say_hello job') {
         steps {
            build 'say_hello'
         }
      }
   }
}

Но как нам это сделать, если целевое задание Jenkins 'say_hello' на другом сервере Jenkins , чем вызывающее задание? (Не другой агент, я имею в виду совершенно другой экземпляр Jenkins, управляемый другой группой в моей компании.)

Сейчас мы делаем это с помощью вызовов к плагину Jenkins httpRequest для их запуска, а затем добавляем httpRequest звонки для опроса состояния удаленной работы (чтобы мы могли распространять их результаты), но это выглядит немного глупо, и я надеялся, что есть более надежный способ.

1 Ответ

0 голосов
/ 29 января 2020

1) Включите триггер задания URL в целевом задании

2) Включите разрешение для «auto» в безопасности на основе matix, добавьте auto и установите соответствующее разрешение соответственно

3) вам потребуется использовать токен API. В списке пользователей нажмите значок «Настройка» (гаечный ключ и отвертка) рядом с «автоматическим» пользователем.

4) выполните скручивание в стадии от исходного задания http://auto:8702d1cb53a83f8748d9433ebca494fb@your-jenkins.com/job/JobName/build?token=iFBDOBhNhaxL4T9ass93HRXun2JF161Z

выше URL состоит из токена API, токена аутентификации и пользователя (например, авто)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...