У меня есть несколько узлов сборки, на которых я не могу установить Java JDK (по разным причинам). Следовательно, там нельзя запустить агент Jenkins. Как я могу использовать эти хосты с Jenkins CI?
Доступна ли реализация агента не на Java? Или есть агент, который использует, например. только SSH для выполнения команд на хостах сборки?
В Jenkins есть несколько плагинов, которые позволяют выполнять команды через SSH на удаленном сервере и копировать файлы с / на эти серверы.
С ними вы не можете реализовать полную функциональность агента Jenkins, но они позволяют выполнять действия на удаленных хостах с интерфейсом Jenkins.
Например, я использую Jenkins для развертывания кода веб-сайта на нескольких серверах через SSH.
Я решил это, запустив агент на другом хосте, а затем используя scp
и ssh
в моих командах сборки Jenkins, чтобы начать сборку на фактическом целевом хосте. Также команда сборки сравнивает env
вывод на хосте агента и на хосте сборки, а также устанавливает все отсутствующие переменные среды. Таким образом, переменные env, установленные Jenkins, доступны для моего сценария сборки.
Это определенно не очень красиво, но подходит для моего конкретного случая использования.