Добавить Slave ноду в Jenkins

By | 22.12.2017

В Jenkins есть возможность добавлять slave ноды для того, чтобы раскидывать джобы по этим нодам и не загружать мастер. Перед добавлением слейва нужно на него поставить Java. Для этого берем плейбук https://github.com/geerlingguy/ansible-role-java  и ставим все через ansible или ставим по старинке через rpm – качаем нужный пакет с java.com  и инсталим

Теперь нужно сделать ssh аутентификацию по ключам, чтоб мастер мог ходить на слейв по ключу.

На мастер ноде делаем

passphrase не указываем, просто жмем enter.

На slave ноде создаем юзера

Паблик ключ на мастере смотрим в

Добавляем ключ на slave

И вставляем содержимое с мастера /var/lib/jenkins/.ssh/id_rsa.pub

Готово. Теперь можно в Jenkins добавить ноду.

Заходим в Manage Jenkins – Manage Nodes – New Node

Указываем имя и ставим – Permanent agent

  Далее опять имя ноды, у меня это slave1.

Потом home юзера jenkins – /var/lib/jenkins

Labels – slave1(потом эту метку используем в джобах, чтоб указать где выполнять сборку)

Launch method – выбираем Launch slave agents via SSH

Host – указываем hostname слейв ноды  и креды – жмем Add  и смотрим следующий скрин

 

Kind – указываем SSH username with private key

Username – jenkins( который мы создали в начале)

Private key – указываем From the Jenkins master ~/.ssh

Добавили и выбрали креды и жмем Save. Нода сразу может быть неактивна и нужно подождать и нажать Refresh status.

Теперь видно что нода есть. Чтоб использовать slave при сборке – то есть чтоб джоба стартовала на слейве, а не на мастере что указываем Restrict where this project can be run и тот Label, который указали в настройках ноды – у меня это Slave1.

Все, стартуем джобу и проверяем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *