保持两个jenkins服务器同步

时间:2016-07-08 17:41:06

标签: jenkins mercurial

我有

  • 通常的jenkins大师jettysburg:8888 / jenkins,
  • 和一个故障转移jenkins master jettyperry:8888 / jenkins。

我打算使用mercurial来保持两个主服务器的jobs目录同步。

通常,大多数时候,新的工作和构建都是在jettysburg定义和执行的:8888。然后我需要同步jettyperry:8888与jettysburg发生的任何事情:8888,我计划每天进行一次推送。

这意味着,在故障转移到jettyperry之后:8888,推进将以相反的方向执行。

我为此目的使用mercurial作为非编程/编码文件(如word,excel和文本文件),作为执行“关键任务”文件的增量和冗余备份以及版本控制的一种方法它们。

我也希望依靠mercurial来回应对jenkins工作的改变。

使用mercurial同步两个Jenkins大师是个好主意吗?有没有更好的方法来保持两个Jenkins服务器同步?在这种情况下,我只同步作业树。

2 个答案:

答案 0 :(得分:4)

只要您不需要服务器之间的共享作业状态(它们在自己的小宇宙中运行)并且您在两个Jenkins服务器上保留相同的插件模块和库,使用某种表单版本控制来保持实际的工作定义很好。

我的办公室用git做到这一点。我们有一套jenkins服务器的开发和生产。我们使用jenkins安装维护一个基本的linux映像,其中包含所有necesarry模块和本地安装库(如nodejs等)。然后我们启动图像实例并下拉作业。

可能存在挑战的一件事就是保持资源和Jenkins配置设置之间的同步 - 您可能需要将它们作为基本映像的一部分。

如果您需要保留并共享作业队列(如主 - 主设置),您可以查看此插件,它允许多个jenkins主人共享同一个作业队列:https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin

答案 1 :(得分:0)

有两种方法:

  1. 为什么不考虑群集主服务器而不是接近热备份的解决方案,以便获得主动 - 主动解决方案。您可能需要查看https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin。这可以帮助你聚集一堆主人,这样一个人不应该成为一个问题。

  2. 考虑在容器上运行Jenkins,并将jenkins项目目录外部化为NFS中的外部卷,这样当一个容器发生故障时你可以调出另一个容器 - 保持两个容器运行对于并发写入是一个挑战(如果有的话)有)。

  3. 希望这有帮助。

相关问题