詹金斯CI:我应该为詹金斯和专用奴隶建造一个服务器吗?

时间:2012-12-19 01:15:42

标签: jenkins continuous-integration

我正在使用Jenkins进行CI,
我听说我应该有一个专用的服务器和奴隶来分别运行Jenkins和构建任务 -
这是真的吗?

我可以理解这一点,因为服务器可能不够强大,无法处理服务器本身和运行构建任务,
但这有什么明确的技术原因吗?

2 个答案:

答案 0 :(得分:5)

最佳做法是为Jenkins-Server配备单独的计算机 并且根本不用于构建

这与CPU电源或内存资源无关 -

  • 构建机器应具有预定义配置
    詹金斯不应该参与其中。
    (Jenkins的要求甚至可能与构建机器的要求相冲突)

  • 您应该可以启动/克隆/升级/恢复/删除构建机器
    对詹金斯没有任何影响。

当然,如果您的资源有限,您可以选择单台机器, 但如果你认真对待构建自动化 - 詹金斯应该拥有自己的服务器。

答案 1 :(得分:2)

您可能不需要专用的硬件/ VM来运行Jenkins服务器,因为实际的Jenkins进程(没有运行的构建版本)使用的资源非常少。但这一切都取决于你想要用你的Jenkins设置完成什么。

您是否希望跨多个平台为多个项目运行持续构建?那么使用带奴隶的主人是唯一的出路。另一方面,如果您只为几个项目运行相当简单的构建,那么您只需要一台机器来运行构建和Jenkins流程。

您可以将Jenkins配置为同时运行多个构建,因此如果您有四核计算机,则可以安全地运行2个构建,并在分析资源使用情况时可能运行第三个构建。

在我的最后一次演出中,我使用了一台配备8GB RAM的四核机器来运行:

  • Jenkins运行Selenium构建
  • 使用Windows XP的VirtualBox VM
  • 两个Tomcat实例,每个实例都部署了两个应用程序。

机器还有更多的余量。