2016-04-05 3 views
0

Я начинаю работать с Jenkins, я новичок, и у меня есть вопрос относительно Master-slaveКонфигурация. Как обычно используется? Это один ведомый в приложении (i.e: 3 applications, 3 slaves)?Jenkins Конфигурация Master-Slave

PS: Если вы мне точку на хороший учебник Jenkins, будет ценить это

+1

Я уверен, что вы можете найти много хороших учебников Jenkins, просто поиграв в игры. Просить учебники по SO отключить тему. См. Http://stackoverflow.com/help/on-topic –

ответ

0

Во-первых, моя рекомендация состоит в том, чтобы отключить все исполнители на мастера и строить только на рабов.

На нашей платформе Jenkins мы используем ведомые устройства 7 CentOS (VM) для сборки Maven (один исполнитель на узел). Эти подчиненные устройства имеют одинаковый ярлык Jenkins (например, «build linux»). Все проекты Maven ограничиваются этим "строить Linux" ярлык: https://serverfault.com/questions/359793/tell-jenkins-to-run-a-specific-project-on-a-particular-slave-node

Мы также посвятили рабам за платформу (32-битный Linux, 64bits Linux, AIX 6, AIX 7, Windows 2008 R2, Windows 2012).

Если вам необходимо развернуть свои приложения на выделенных серверах приложений (Tomcat, Weblogic, ...), вы можете создать один подчиненный на платформу.

Использование ярлыка Jenkins действительно полезно для распределения ваших сборок на соответствующих ведомых устройствах.

0

Первой рекомендацией является использование хотя бы одного раба и не использование мастера для строительства.

Прочитано https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds (первый ответ, когда googling "jenkins master slave tutorial").

Затем добавьте столько рабов, сколько хотите распределить нагрузку. Нагрузка не зависит напрямую от количества «приложений», а от количества одновременных сборок и доступных ведомых для выполнения этих сборок (у вас может быть несколько заданий для уникального приложения). Как правило, вы будете добавлять раб, если ваши билды «pending» слишком много времени: см https://wiki.jenkins-ci.org/display/JENKINS/Executor+Starvation

связать работу с labels, а не непосредственно к рабам.

У вас, очевидно, будут разные подчиненные устройства для каждой среды сборки.

Если ваша сборка достаточно изолирована и она не многопоточная, то также рекомендуется установить столько же исполнителей, сколько и основной процессор. То есть использовать ресурсы подчиненных; другим решением является использование виртуализации, контейнеров (VM, docker ...) в качестве подчиненных с одним исполнителем на одно подчиненное устройство.

Смежные вопросы