Triggers Jenkins如何在远程机器上完成另一个作业时安排Jenkins作业

Triggers Jenkins如何在远程机器上完成另一个作业时安排Jenkins作业,triggers,jenkins,jobs,Triggers,Jenkins,Jobs,我有两台远程机器:A和B。都安装了Jenkins A:这将从主干上构建 B:触发自动化 当在机器A上成功构建时,我如何在机器B上配置Jenkins作业?我有相同的要求,因为我使用的其中一台服务器属于另一家公司,因此,虽然这是可能的,但我显然需要很长时间才能接受,以改变他们的Jenkins设置,即使我被允许监控它和它的输出。但是,如果您没有这些限制,那么您肯定应该遵循整个主从配置来解决这个问题。这就是说,我提出了一个解决方案,只是要注意,我已经解释了为什么这是一个真正的要求,尽管我希望在可能的情况

我有两台远程机器:A和B。都安装了Jenkins

A:这将从主干上构建

B:触发自动化


当在机器A上成功构建时,我如何在机器B上配置Jenkins作业?

我有相同的要求,因为我使用的其中一台服务器属于另一家公司,因此,虽然这是可能的,但我显然需要很长时间才能接受,以改变他们的Jenkins设置,即使我被允许监控它和它的输出。但是,如果您没有这些限制,那么您肯定应该遵循整个主从配置来解决这个问题。这就是说,我提出了一个解决方案,只是要注意,我已经解释了为什么这是一个真正的要求,尽管我希望在可能的情况下,我自己也能走主从式的道路

安装Jenkins的ScriptTrigger插件,然后可以使用类似于以下内容的脚本查看远程Jenkins实例:

LAST_SUCCESSFUL_UPSTREAM_BUILD=`curl http://my.remote.jenkins.instance.com:8080/job/remoteJobName/lastSuccessfulBuild/buildNumber`
LAST_KNOWN_UPSTREAM_BUILD=`cat $WORKSPACE/../lastKnownUpstreamBuild || echo 0`
echo $LAST_SUCCESSFUL_UPSTREAM_BUILD> $WORKSPACE/../lastKnownUpstreamBuild
exit $(( $LAST_SUCCESSFUL_UPSTREAM_BUILD > $LAST_KNOWN_UPSTREAM_BUILD ))
每当退出代码为“1”时,获取ScriptTrigger以计划生成。设置一个合适的轮询间隔,就可以了

显然,只有上游作业成功时,才会安排构建。根据您的需求,在上面的URL中使用“lastBuild”或“lastFailedBuild”而不是“lastSuccessfulBuild”

注意:使用BASH shell实现。可能在其他UNIX shell中工作,但在Windows中不工作