zoukankan      html  css  js  c++  java
  • 怎样用Jenkins触发还有一个Jenkins---Global build solution

    由于上次发的帖子太受欢迎,导致有非常多人问也有很多其它的人想知道。2个不同地域位置的Jenkins怎样自己主动触发相互的Job.当今非常多公司做的产品仅仅是全球化工作的一部分。须要这部分做好以后去做另外一部分,一直持续做完。这样的自下而上的增量集成方式被越来越多的大公司採用。自然这也能做成全自己主动的。


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

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

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

    然后你这个Job得执行在Linux环境下。由于要用Shell。当然你得把build选成Execute Shell窗体。


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

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


    假设你运气好的话,第一次就搞定了。

    当然。。

    某些人或者公司有特殊的网络设置,在用这个命令之前大家都不知道。所以方法1非常高的几率会失败。所以当初解决这问题的时候。出现了方法2。



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

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

    比方说。你们的SVN?仅仅要你们做的同一个产品,肯定有某个SVN你们两方都能訪问的。嘿嘿。



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


    这样的方案,就非常稳定,可控。


    当然还有其它的。朋友们假设有兴趣请评论中讨论。

    比方:

    3.Jenkins插件

    Parameterized Remote Trigger Plugin

  • 相关阅读:
    添加一个用户到指定用户组: gpasswd –a 用户名 组名 usermod –G 组名 用户名
    MySQL创建用户和授权
    shell
    启动脚本
    TODO
    mysql表分区
    mysql导入千万级数据实操
    mysql快速保存插入大量数据一些方法总结(转)
    MySQL存储过程插入数据过慢处理方法(转)
    mysql备份删库建库导入库
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6743193.html
Copyright © 2011-2022 走看看