Jenkins 主从配置
Jenkins Master-Slave Configuration
我开始使用 Jenkins
工作,我是新手,我有一个关于 Master-slave
配置 的问题。通常怎么用?每个应用程序一个从站 (i.e: 3 applications, 3 slaves
)?
PS:如果你能给我指出一个好的Jenkins
教程,我将不胜感激
首先,我的建议是禁用主服务器上的所有执行程序并仅在从服务器上构建。
在我们的 Jenkins 平台上,我们使用 7 个 CentOS 从站 (VM) 进行 Maven 构建(每个节点一个执行程序)。
这些从站具有相同的 Jenkins 标签(例如 "build linux")。
所有 Maven 项目都限于此 "build 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 标签对于在相关从站上分发您的构建非常有用。
第一个建议是至少使用一个 slave,而不是使用 master 来构建。
阅读 https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds(谷歌搜索时的第一个答案 "jenkins master slave tutorial")。
然后,根据需要添加尽可能多的奴隶来分配负载。负载不直接取决于 "applications" 的数量,而是取决于同时构建的数量和执行这些构建的可用从站的数量(对于一个独特的应用程序,您可能有多个作业)。通常,如果您的构建“pending
”时间过长,您将添加从属:请参阅 https://wiki.jenkins-ci.org/display/JENKINS/Executor+Starvation
将工作绑定到 labels
而不是直接绑定到奴隶。
您显然会在每个构建环境中拥有不同的从站。
如果你的构建足够隔离并且不是多线程的,那么也建议设置与核心一样多的执行器CPU。即利用slave资源;另一种解决方案是使用虚拟化、容器(VM,docker...)作为从站,每个从站有一个执行程序。
我开始使用 Jenkins
工作,我是新手,我有一个关于 Master-slave
配置 的问题。通常怎么用?每个应用程序一个从站 (i.e: 3 applications, 3 slaves
)?
PS:如果你能给我指出一个好的Jenkins
教程,我将不胜感激
首先,我的建议是禁用主服务器上的所有执行程序并仅在从服务器上构建。
在我们的 Jenkins 平台上,我们使用 7 个 CentOS 从站 (VM) 进行 Maven 构建(每个节点一个执行程序)。 这些从站具有相同的 Jenkins 标签(例如 "build linux")。 所有 Maven 项目都限于此 "build 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 标签对于在相关从站上分发您的构建非常有用。
第一个建议是至少使用一个 slave,而不是使用 master 来构建。
阅读 https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds(谷歌搜索时的第一个答案 "jenkins master slave tutorial")。
然后,根据需要添加尽可能多的奴隶来分配负载。负载不直接取决于 "applications" 的数量,而是取决于同时构建的数量和执行这些构建的可用从站的数量(对于一个独特的应用程序,您可能有多个作业)。通常,如果您的构建“pending
”时间过长,您将添加从属:请参阅 https://wiki.jenkins-ci.org/display/JENKINS/Executor+Starvation
将工作绑定到 labels
而不是直接绑定到奴隶。
您显然会在每个构建环境中拥有不同的从站。
如果你的构建足够隔离并且不是多线程的,那么也建议设置与核心一样多的执行器CPU。即利用slave资源;另一种解决方案是使用虚拟化、容器(VM,docker...)作为从站,每个从站有一个执行程序。