Немає принципових технічних проблем із керуванням кількома рабами-джинсами на одній машині. Насправді запуск декількох рабів на одній машині перераховує кілька вагомих причин для цього:
Хоча правильне використання виконавців значною мірою заперечує потребу в декількох еквівалентних випадках на одній машині, є деякі унікальні випадки використання:
- Вам потрібно більше налаштування між налаштованими вузлами. Скажімо, у вас є один набір вузлів, який потрібно використовувати якомога більше, а інший вузол, який потрібно використовувати лише за потреби.
- У вас може бути кілька головних установок Дженкінса, які будують різні речі, і тому ця конфігурація дозволить вам мати рабів для більше одного майстра в одній коробці. Правильно, з Дженкінсом ви справді можете служити двом господарям.
- Ви можете скористатися простотою запуску / зупинки / заміни віртуальних машин, можливо, спільно з плагінами Jenkins, такими як плагін Libvirt Slaves .
- Ви хочете максимізувати інвестиції та використання обладнання, одночасно мінімізуючи експлуатаційні витрати (наприклад, витрати на корисні послуги для запуску холостих холопів).
Загалом , переважання масштабування є кращим, насамперед, тому що можливість нарощування масштабів зазвичай обмежена типами / розмірами доступних фізичних ресурсів.
Зокрема, для збільшення потужності збірки я рекомендую проаналізувати фактичну збірку, щоб визначити, як вона використовує машинні ресурси, які / де є її вузькі місця та які обмеження масштабування підвищує, щоб виявити, якщо масштабування навіть допомагає.
Наприклад, я стикався з випадками, коли час збірки для двох паралельних збірок на одній машині був довшим, ніж комбінований час збірки для тих же 2-х збірок, що виконуються послідовно (не перекриваючись) на одній машині. У такому випадку я б навіть не розглядав масштабування, оскільки це фактично зменшить загальну будівельну потужність.