如何用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和端口/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

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

时间: 2024-10-23 11:38:55

如何用Jenkins触发另一个Jenkins---Global build solution的相关文章

怎样用Jenkins触发还有一个Jenkins---Global build solution

由于上次发的帖子太受欢迎,导致有非常多人问也有很多其它的人想知道.2个不同地域位置的Jenkins怎样自己主动触发相互的Job.当今非常多公司做的产品仅仅是全球化工作的一部分.须要这部分做好以后去做另外一部分,一直持续做完.这样的自下而上的增量集成方式被越来越多的大公司採用.自然这也能做成全自己主动的. 本文就简单说说我经验中的解决的方法: 1.两个地域的网络都能直接相互訪问,这是最好的情况(而这样的情况适用范围是最窄的),能够直接用Jenkins的隐藏功能实现. 首先要有个job处于你buil

Bitbucket 触发内网 Jenkins Build

为了保证安全性多数的持续集成系统都会部署在公司内部的局域网中,这样如果代码部署在 Bitbucket 等环境中就只能通过轮询的方式来触发 Build.那么有没有办法通过 Bitbucket 的 Webhooks 功能在开发人员提交代码时触发 Build 呢?答案是肯定的,并且有很多种实现方式.本文笔者将介绍一种比较简单的实现方式来实现由 Bitbucket 的 Webhooks 触发内网 Jenkins 中的 Build.其结构如下: 实现本方案的条件是需要在外网有一台可以访问的主机,通过 SS

Jenkins触发远程Job的几种方式

本文叙述基于以下假设前提,将介绍三种在不同的jenkins服务器之间触发Job的方法: 本地Jenkins Server local.jenkins.com远程Jenkins Server remote.jenkins.com本地Jenkins Job名 local_job远程Jenkins Job名 remote_job 需求 在local_job完成后自动触发remote_job一.在remote_job上配置Build Trigger:步骤:1.在Jenkins Web GUI上配置rem

如何在jenkins上新建一个项目及其简单配置

1.首先,点击[新建]进入选择页面,如下图(一般选择"构建一个自由风格的软件项目")     2.填好项目名称后,点击ok,跳转至如下页面,可以在这个页面进行项目的配置(包括拉源码.修改持续构建时间.打包部署前修改配置文件等) 3.General中的"丢弃旧的构建"可以设定持续构建的 4.在"参数化构建过程"中可以设置要构建的版本有哪些,如下 5.在源码管理模块可以设置源码地址(我们公司一般用的Git) 6.如果是自动化构建,可以在构建触发器中的

[原创] Jenkins 邮件配置 (使用 Jenkins Email Extension Plugin)

本文主要对 jenkins 的邮件通知进行介绍, jenkins 内置的邮件功能 使用插件扩展的邮件功能 1. 先介绍下 基本的Jenkins 邮件服务器 配置 1)system config 页面 (以公用的163邮件服务器为例): 可以勾选 "通过发送测试邮件配置"  测试此配置能否连通, 如果收到以下邮件,恭喜 This is test email #1 sent from Jenkins 2)下面接着对构建的job 添加邮件发送的步骤, 这样每次build后都会发送邮件给这个接

Jenkins持续集成之Jenkins 安装部署

1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.Jenkins是一种软件允许持续集成. 1.2 Jenkins目的: 1.持续.自动地构建/测试软件项目. 2.监控软件开放流程,快速问题定位及处理,提示开放效率. 这些概念我没去理解,我现在只知道用它可以减轻我的工作量. 因为代码发布真的是很繁琐的活,像 nodejs 是先从

Jenkins Pinned Plugins(Jenkins绑定插件)

在Jenkins上将Subversion Plugin由捆绑的1.54版本升级到目前(2015/07/15)最新版本2.5.1 在已安装的插件页面(http://my.jenkins.server/pluginManager/installed)发现在[绑定]这一列,Subversion插件多了[解除绑定]按钮 并且Jenkins捆绑的插件(如Subversion Plugin)在界面上都没有[卸载]按钮 点开上面图片的[?]按钮,进入到相应帮助界面,将其内容翻译如下: 绑定插件的概念适用于与J

170508、忘记jenkins密码或者修改jenkins密码

刚配置好jenkins时,不知道密码是什么,很多同学都有这种烦恼把,各种抓狂. 操作步骤: 1.进入jenkins用户目录  cd /home/rick/.jenkins/users/admin ps:Jenkins专有用户的数据存放在JENKINS_HOME/users目录.users目录的结构我就不扯了,你一看就懂.users/xxx(各种用户名) 如上: 2.打开忘记密码的用户文件夹,里面就一个文件config.xml.嗯,就是它了.打开config.xml,里面有一堆的东西,找找...找

docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令

使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了.后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id 2.即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取.当然好像也不影响使用,只是在容器里面执行docker