Назад | Перейти на главную страницу

Как я могу использовать Jenkins без Java-агента?

У меня есть несколько узлов сборки, на которых я не могу установить Java JDK (по разным причинам). Следовательно, там нельзя запустить агент Jenkins. Как я могу использовать эти хосты с Jenkins CI?

Доступна ли реализация агента не на Java? Или есть агент, который использует, например. только SSH для выполнения команд на хостах сборки?

В Jenkins есть несколько плагинов, которые позволяют выполнять команды через SSH на удаленном сервере и копировать файлы с / на эти серверы.

С ними вы не можете реализовать полную функциональность агента Jenkins, но они позволяют выполнять действия на удаленных хостах с интерфейсом Jenkins.

Например, я использую Jenkins для развертывания кода веб-сайта на нескольких серверах через SSH.

Я решил это, запустив агент на другом хосте, а затем используя scp и ssh в моих командах сборки Jenkins, чтобы начать сборку на фактическом целевом хосте. Также команда сборки сравнивает env вывод на хосте агента и на хосте сборки, а также устанавливает все отсутствующие переменные среды. Таким образом, переменные env, установленные Jenkins, доступны для моего сценария сборки.

Это определенно не очень красиво, но подходит для моего конкретного случая использования.