Continuous integration 如何在一个仪表板上整合位于不同位置的多个Jenkins实例的构建状态?
我们有几个团队分布在世界各地(美国、英国、印度),他们在地理位置上非常专注于项目。目前,每个团队都有自己的Jenkins服务器用于构建他们的项目。我们可以这样说:Continuous integration 如何在一个仪表板上整合位于不同位置的多个Jenkins实例的构建状态?,continuous-integration,jenkins,Continuous Integration,Jenkins,我们有几个团队分布在世界各地(美国、英国、印度),他们在地理位置上非常专注于项目。目前,每个团队都有自己的Jenkins服务器用于构建他们的项目。我们可以这样说: 詹金萨(美国)[项目A] JenkinsB(印度)[项目B] 詹金斯克(英国)[项目C] 这些站点由(必要的)高延迟VPN连接。管理层希望对所有团队中所有构建的状态有一个聚合视图。但是,由于集成系统在地理上是分布式的,因此我们无法在一个位置整合为单个构建系统 是否有一个预构建的解决方案,用于将来自不同Jenkins实例的所有构建状
- 詹金萨(美国)[项目A]
- JenkinsB(印度)[项目B]
- 詹金斯克(英国)[项目C]
一个相当简单的方法是构建一个简单的HTML页面,使用Jenkins API从各种Jenkins实例中获取状态。 下面是一些可能适合您的JavaScript代码:
这个Jenkins插件可能也很有趣 插件说明: 这个插件允许一个Jenkins的记录在另一个Jenkins上发布。典型的用例是在防火墙内运行构建,然后将结果发送给另一个面对外部世界的Jenkins
到目前为止,我发现的唯一问题是,您必须确保作业在Jenkins实例之间具有不同的名称。如果“公共”Jenkins上已经有一个作业与您试图从“私人”Jenkins发布的作业同名,则该公共作业可能会被覆盖,并且似乎无法再次断开作业的连接。您是否检查过cacti,或者更好,您是否可以指定一名开发人员在每个位置触摸构建日志,并将状态推送到仪表板?不需要日志。詹金斯有一个RSS源。只需解决这个问题,把所有的信息放在一起并显示出来。