Как я могу запустить команду Curl из Jenkins A, чтобы запустить сборку в Jenkins B - PullRequest
0 голосов
/ 07 октября 2019

Я хочу запустить сборку в Jenkins B, запустив сборку в Jenkins A, я знаю, что могу использовать команду Curl из Jenkins A, но на самом деле я не мог понять, как и где написать команду внутри конвейераили как скрипт power-shell?

1 Ответ

0 голосов
/ 07 октября 2019

Здесь описано, как это работает.

  1. Вам необходимо скачать jenkins-cli.jar с сервера jenkins, на котором вы хотите запустить задание.
    wget http://YOUR_JENKINS_HOSTNAME/jnlpJars/jenkins-cli.jar
    
  2. Вы должны убедиться, что можете пройти аутентификацию на сервере jenkins.
    ssh-keygen -t rsa && cat ~/.ssh/id_rsa.pub
    
    Скопируйте открытый ключ на http://YOUR_JENKINS_HOSTNAME/user/YOUR_USERNAME/configure. На этой же странице вы можете сгенерировать токен API. Он понадобится вам для удаленного звонка. Вы можете сохранить его как файл с помощью следующей команды:
    echo 'YOUR_USERNAME:YOUR_API_TOKEN' > jenkins_secret
    
  3. Теперь вы можете позвонить на удаленный сервер jenkins и запустить сборку
    java -jar ./jenkins-cli.jar -s http://YOUR_JENKINS_HOSTNAME list-jobs
    

Чтобы интегрировать его в свой конвейер, простодобавьте шаг sh и возьмите последнюю строку (вызов jenkins-cli.jar) и добавьте ее в свой конвейер.

...