Jenkins-分布式架构原理
分布式构建通常用来吸收额外的负载,例如通过动态添加额外的机器应对构建作业中的高峰期,或者在特定的操作系统或环境运行专门的构建作业。
例如:你可能需要在一个特定机器或者操作系统上运行特定的构建作业。
例如:如果你需要使用Internet Explorer运行Web测试,则需要使用Windows机器。
例如:你的构建作业之一可能消耗大量资源,并且需要在自己专用的机器上运行,而不影响你其他的构建作业。
构建服务器的需要随着时间的推移会波动。例如在产品发布周期,在周期快结束时可能需要运行更多的构建作业,比如更多的综合功能测试和回归测试套件可能会更加频繁。
Jenkins分布式构建架构
Jenkins使用主/从架构来管理分布式构建。
主节点:处理调度构建作业,把构建分发到从节点来进行实际执行,监视从节点,并且记录和发布构建产物。
从节点:按照被告知的工作,即主节点分派的构建作业。配置可分为如下三种情况:
- 配置一个项目总是在特定的从节点运行
- 在某个特定类型的从节点运行
- 让Jenkins挑选下一个可用的从节点
一旦从节点实例运行,它就通过TCP/IP连接主实例进行通信。
Jenkins主/从策略
Jenkins可用通过很多不同的方式设置分不只构建,取决于操作系统和网络架构。
构建作业运行在从节点的方式及怎么被管理对于终端用户来说都是透明的:构建结果和构建产物最后总是会在主服务器上。