詹金斯主从配置

时间:2016-04-05 15:38:18

标签: jenkins continuous-integration master-slave

我开始使用Jenkins,我是新手,我对Master-slave 配置有疑问。通常如何使用?它是一个每个应用程序的奴隶i.e: 3 applications, 3 slaves)?

PS:如果你指的是一个好的Jenkins教程,将会很感激

2 个答案:

答案 0 :(得分:0)

首先,我的建议是禁用主服务器上的所有执行程序,并仅在从服务器上构建。

在我们的Jenkins平台上,我们使用7个CentOS从站(VM)进行Maven构建(每个节点一个执行程序)。 这些从属设备具有相同的Jenkins标签("构建linux"例如)。 所有的Maven项目都限于这个"构建linux"标签: https://serverfault.com/questions/359793/tell-jenkins-to-run-a-specific-project-on-a-particular-slave-node

我们还有每个平台的专用从站(Linux 32位,Linux 64位,AIX 6,AIX 7,Windows 2008 R2,Windows 2012)。

如果您需要在专用的应用服务器(Tomcat,Weblogic,...)上部署应用程序,则可以为每个平台创建一个从属服务器。

使用Jenkins标签对于在相关从属服务器上分发构建版本非常有用。

答案 1 :(得分:0)

首先建议使用至少一个奴隶,而不是使用主人进行建设。

阅读https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds(谷歌搜索时的第一个答案" jenkins master slave tutorial")。

然后,添加尽可能多的奴隶以分配负载。负载并不直接取决于"应用程序的数量"但是在同时构建的数量和可用的从属服务器上执行这些构建(对于一个独特的应用程序,您可能有多个作业)。通常情况下,如果您的构建是" pending"那么您将添加奴隶。太多时间:见https://wiki.jenkins-ci.org/display/JENKINS/Executor+Starvation

将作业绑定到labels而不是直接绑定到奴隶。

每个构建环境显然会有不同的从属。

如果你的构建足够孤立并且它不是多线程的,那么还建议设置与核心CPU一样多的执行程序。那就是利用奴隶资源;另一种解决方案是使用虚拟化,容器(VM,docker ...)作为从属设备,每个从属设备有一个执行器。