建立不同Jenkins服务器上可用的两个Jenkins Jobs之间的关系

时间:2018-04-02 04:00:01

标签: jenkins continuous-integration jenkins-plugins jenkins-pipeline continuous-deployment

我正在为Test / QA自动化脚本构建Jenkins,我们将其命名为TEST_JOB。对于应用程序,我有应用程序源代码Jenkins build,将其命名为DEV_JOB。

我的场景是DEV_JOB完成执行(成功),立即执行TEST_JOB。我知道在完成此任务时设置项目上游/下游[构建其他项目后构建]。但在这里,问题是DEV_JOB与TEST_JOB位于不同的服务器上。由于这个原因,TEST_JOB无法识别DEV_JOB。

现在,我将如何实现这种情况?

1 个答案:

答案 0 :(得分:1)

您可以使用Jenkins API远程触发Job。 假设您在JENKINS_1上有DEV_JOB的工作,添加倒数第二步(或只有此步骤的上游/下游项目),它使用JENKINS_2服务器的远程API调用来调用TEST_JOB。 示例命令是

$(curl --user "username:password" "http://JENKINS_2/job/TEST_JOB/buildWithParameters?SOMEPARAMETER=$SOMEPARAMETER")

用户名:密码是JENKINS_2上的有效用户。 避免在这里使用自己的帐户,而是建立触发器'只有权启动这些工作的帐户。