четверг, 18 октября 2012 г.

Конфигурим Jenkins: добавляем Slave в Master

Предположим, что у нас есть 2 машины, на одной из них (Master) установлен и запущен Jenkins. Задача добавить вторую машину в Master.

Доступ из мастера в слейв будет осуществляться по ssh, поэтому нам надо (хотя это совсем необязательно) сделать так, чтобы вход по ssh из мастера в слейв был без пароля, т.е. добавить ssh-ключ мастера в разрешенные ключи слейва. Если по какойто причине вы не хотите это делать, то при настройке Slave машины можно будет все параметры SSH указать.
Ессно это все будет делаться для пользователя, под которым работает Jenkins, т.е. пользователя jenkins, который создан по умолчанию.

Генерим ключ для мастера, если он еще не сгенерен:
# su jenkins 
# ssh-keygen -b 2048 -t rsa

Далее надо скопировать этот ключ (id_rsa.pub) на слейв в пользователя jenkins. Либо копипастом либо можно через ssh-copy-id либо как Вам удобно. Я копирую 2ым способом. Для этого нам надо задать пароль для пользователя jenkins на слейве, поскольку он создается без пароля и мы не сможем зайти на слейв ;)

Ключ скопирован. Теперь надо сказать мастеру, что у него есть слейв. Делается это просто. Заходим в Manage Jenkins -> Manage Nodes, кликаем на New Node и выбираем Dumb Slave

На следующей странице нужно заполнить следующие поля:
  • # of executors: 2 (число одновременных билдов)
  • Remote FS root: /var/lib/jenkins (в моем случае такой путь)
  • Labels: python27 natty
  • Usage: Leave this machine for tied jobs only
  • Launch method: Launch slave agents on Unix machines via SSH. 
  • Также конечно же необходимо заполнить поле Host field, вписав туда адрес Slave-машины.
 Если вы не настраивали на слейве доступ по ssh-ключу, то под этим полем есть кнопочка Advanced, там можно указать логин/пароль.

Нажимаем OK и у нас в списке появляется новосозданный Slave. На разных системах оно себя по разному ведет. В мануале написано, что после этого надо кликнуть на новосозданную машину и нажать Launch. У меня оно просто без вопросов подключилось.

Ну добавляйте сколько угодно компов...

Вот и всё.