Jenkins-如何在远程计算机上完成另一个作业时安排jenkins作业

时间:2012-09-25 06:19:35

标签: triggers jenkins jobs

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

答:这将从后备箱构建。

B:触发自动化。

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

1 个答案:

答案 0 :(得分:0)

我有同样的要求,因为我使用的其中一台服务器属于另一家公司,因此,虽然有可能,显然需要很长时间才能让我买入以改变他们的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 ))

获取ScriptTrigger以在退出代码为“1”时安排构建。设置一个合适的轮询间隔,你就可以了。

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

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