码迷,mamicode.com
首页 > 其他好文 > 详细

如何用Jenkins触发另一个Jenkins---Global build solution

时间:2014-07-16 12:47:05      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:global build

因为上次发的帖子太受欢迎,导致有很多人问也有更多的人想知道,2个不同地域位置的Jenkins如何自动触发相互的Job.当今很多公司做的产品只是全球化工作的一部分,需要这部分做好以后去做另外一部分,一直持续做完。这种自下而上的增量集成方式被越来越多的大公司采用。自然这也能做成全自动的。


本文就简单说说我经验中的解决办法:

1.两个地域的网络都能直接相互访问,这是最好的情况(而这种情况适用范围是最窄的),可以直接用Jenkins的隐藏功能实现。

首先要有个job处于你build process的最后一步,比如说,你release后,触发这个job,而这个job实现触发另外一个Jenkins。

然后你这个Job得运行在Linux环境下,因为要用Shell。当然你得把build选成Execute Shell窗口。

bubuko.com,布布扣

然后你就得加如下的命令了:

 

wget http://$你的目标jenkins IP和端口/job/$你想触发的job/buildWithParameters?$你要传递的变量名=‘$变量名对应的值‘&$第2个变量名=‘$第2个变量名的值


如果你运气好的话,第一次就搞定了。当然。。某些人或者公司有特殊的网络设置,在用这个命令之前大家都不知道。所以方法1很高的几率会失败。所以当初解决这问题的时候,出现了方法2。



2.两个人地域的网络不能直接访问,或者方案1不稳定,这得引入另外一个解决方案。

这个方案拥有coder的思维,即引入第3者,这个第3者必须能分别和2个地方的jenkins相互访问。

比如说,你们的SVN?只要你们做的同一个产品,肯定有某个SVN你们双方都能访问的。嘿嘿。


bubuko.com,布布扣

对于这个图的解释,又回到了jenkins的自动trigger上,引入下“自动build”的文章。


这种方案,就很稳定,可控。


当然还有其他的,朋友们如果有兴趣请评论中讨论。

比如:

3.Jenkins插件

Parameterized Remote Trigger Plugin

如何用Jenkins触发另一个Jenkins---Global build solution,布布扣,bubuko.com

如何用Jenkins触发另一个Jenkins---Global build solution

标签:global build

原文地址:http://blog.csdn.net/modoo_junko/article/details/37872339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!