【问题标题】:Establish relationship between two Jenkins Jobs available on different Jenkins server在不同的 Jenkins 服务器上建立两个可用的 Jenkins 作业之间的关系
【发布时间】:2018-09-11 07:23:16
【问题描述】:

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

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

现在,我将如何实现这个场景?

【问题讨论】:

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


    【解决方案1】:

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

    $(curl --user "username:password" "@987654321@$SOMEPARAMETER")

    username:password 是 JENKINS_2 上的有效用户。 避免在此处使用您自己的帐户,而应使用仅有权启动这些作业的“构建触发器”帐户。

    【讨论】:

    • 感谢您的回复。我对主题有了更好的理解,但不知道该怎么做。我检查了 TEST_JOB 的选项 Trigger builds remotely 并传递了像 localhost:8080/job/TEST_JOB/buildWithParameters?projectsToWatch=DEV_JOB 这样的身份验证令牌。我究竟需要如何从这里前进?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2018-04-18
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多