如何从Jenkins管道在其他Jenkins服务器上触发Jenkins作业

时间:2020-01-29 18:51:18

标签: jenkins

如果两个Jenkins作业都在同一个Jenkins实例上,则很容易从另一个Jenkins作业中调用它们:

pipeline {
   agent any

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

但是,如果“ say_hello”目标Jenkins作业与呼叫作业在不同的Jenkins服务器上,我们该怎么做? (不是其他代理,我的意思是由公司中另一个小组管理的完全不同的Jenkins实例。)

现在,我们通过调用Jenkins httpRequest插件来触发它们,然后再进行更多的httpRequest调用以轮询远程作业的状态(以便我们可以传播其结果状态)来完成此操作,但是感觉有点不舒服我希望有一种更强大的方法。

1 个答案:

答案 0 :(得分:0)

1)在目标作业中启用URL作业触发器

2)在基于matix的安全性中启用“自动”权限,然后自动添加并设置权限

3)您需要使用API​​令牌。在用户列表中,单击“自动”用户旁边的“配置”图标(扳手和螺丝起子)。

4)从原始工作http://auto:8702d1cb53a83f8748d9433ebca494fb@your-jenkins.com/job/JobName/build?token=iFBDOBhNhaxL4T9ass93HRXun2JF161Z阶段开始卷曲

上面的网址由api令牌,身份验证令牌和用户(例如auto)组成