如何在一个仪表板上合并来自不同位置的多个Jenkins实例的构建状态?

时间:2012-05-29 14:41:50

标签: continuous-integration jenkins

我们在世界各地(美国,英国,印度)拥有多个团队,他们的地理位置非常集中在项目上。每个团队目前都有自己的Jenkins服务器来构建他们的项目。让我们说是这样的:

  • JenkinsA(美国)[项目A]
  • JenkinsB(印度)[项目B]
  • JenkinsC(英国)[项目C]

这些站点通过(必然)高延迟VPN连接。管理层希望对所有团队中所有构建的状态进行汇总视图。但是,由于集成系统在地理位置上分布,我们无法在一个位置合并到单个构建系统。

  1. 是否有预先构建的解决方案,用于在一个网页/短划线上聚合各种Jenkins实例的所有版本的状态?可以将各种RSS提要合并到一个显示器中的东西吗?

  2. 鉴于我们的开发组织的结构,地理位置和网络拓扑结构,将美国实例推广到硕士课程会有什么好处,英国和印度的实例会被降级为奴隶吗?这将为我们提供一个汇总的视图,但会将美国办事处和慢速VPN作为所有站点的单点故障引入?此外,它可能会从团队中获取构建实例的所有权。

2 个答案:

答案 0 :(得分:1)

一种相当简单的方法是构建一个简单的HTML页面,该页面使用Jenkins API从各种Jenkins实例中提取状态。 以下是一些可能适合您的JavaScript代码:

Jenkins status

答案 1 :(得分:1)

这个Jenkins插件也可能很有用。

wiki Jenkins

插件说明:

  

此插件允许一个Jenkins的记录在另一个Jenkins上发布。典型的用例是您在防火墙内运行构建,然后将结果发送到面向外部世界的另一个Jenkins。

到目前为止,我发现的唯一问题是您必须确保Jenkins实例之间的作业名称不同。如果“公共”Jenkins上有一个与你试图从你的“私人”Jenkins发布的工作同名的工作,那么公共工作可能会被覆盖,然后再次断开工作似乎是不可能的。 / p>