我正在使用 Jenkins 进行 CI,
我听说我应该有一个专用的服务器和从属服务器分别用于运行 Jenkins 和构建任务 -
这是真的吗?
我可以理解这一点,因为服务器可能不够强大,无法处理服务器本身和运行构建任务,
但是有任何明确的技术原因吗?
我正在使用 Jenkins 进行 CI,
我听说我应该有一个专用的服务器和从属服务器分别用于运行 Jenkins 和构建任务 -
这是真的吗?
我可以理解这一点,因为服务器可能不够强大,无法处理服务器本身和运行构建任务,
但是有任何明确的技术原因吗?
最佳实践是为 Jenkins-Server配备一台单独
的机器,
并且根本不将其用于构建。
这与 CPU 功率或内存资源无关 -
构建机器应该有一个预定义的配置,
而 Jenkins 不应该是其中的一部分。
(Jenkins 的要求甚至可能与构建机器的要求相冲突)
您应该能够启动/克隆/升级/恢复/丢弃构建机器
,而不会对 Jenkins 产生任何影响。
当然,如果您的资源有限,您可以选择一台机器,
但如果您对构建自动化很认真 - Jenkins 应该有自己的服务器。
您可能不需要专用硬件/VM 来运行 Jenkins 服务器,因为实际的 Jenkins 进程(没有运行构建)使用的资源非常少。但这一切都取决于你想用你的 Jenkins 设置完成什么。
您想跨多个平台为多个项目运行连续构建吗?那么使用master和slave是唯一的方法。另一方面,如果您只为几个项目运行相当简单的构建,那么您只需要一台机器来运行构建和 Jenkins 进程。
您可以将 Jenkins 配置为同时运行多个构建,因此如果您有一台四核机器,您可以安全地运行 2 个构建,并且在分析资源使用情况后可能会运行第三个构建。
在我的最后一次演出中,我使用了一台 8GB RAM 的四核机器来运行:
而且这台机器还有更多的余地。