4

我们有几个团队分布在世界各地(美国、英国、印度),他们在地理上非常专注于项目。目前,每个团队都有自己的 Jenkins 服务器来构建他们的项目。可以说它是这样的:

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

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

  1. 是否有一种预构建的解决方案可以在一个网页/破折号上汇总来自各种 Jenkins 实例的所有构建的状态?可以将各种 RSS 提要合并到一个显示中的东西?

  2. 鉴于我们开发组织的结构、地理和网络拓扑结构,将美国实例提升为 Master,而将英国和印度实例降级为 slave 是否有任何好处?这将为我们提供一个汇总视图,但会将美国办公室和慢速 VPN 介绍为所有站点的单点故障?此外,它可能会将构建实例的所有权从团队手中夺走。

4

2 回答 2

1

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

詹金斯状态

于 2012-05-31T07:01:33.927 回答
1

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

维基詹金斯

插件说明:

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

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

于 2015-04-24T05:55:28.617 回答