Как настроить задание Jenkins на целевой сервер для развертывания?


0

Я использую два сервера CentOS. Я не использую какой-либо репозиторий кода. В Jenkins, когда я нажимаю «Новый элемент», я не вижу места для входа на целевой сервер. Я ожидаю места для настройки целевого сервера для данной сборки (например, для запуска команды bash или передачи файла с сервера Jenkins на целевой сервер). Поскольку Jenkins работает как пользователь Jenkins на стороне Linux, он не может использовать SSH как root. Я хотел бы быть пользователем root и выполнить команду после передачи файла с сервера Linux, который поддерживает Jenkins. Я мог сделать это с помощью встроенных команд оболочки в шагах сборки Jenkins «New Item». Для таких команд есть свободное текстовое поле. Но я не знаю, как интерактивно отвечать на вызов пароля.

Где я могу настроить целевой сервер для данного развертывания?

Могу ли я жестко закодировать пароль root в задании Jenkins? Если так, то как мне это сделать. Я не хочу устанавливать sshpass.

Помимо наличия ядра Jenkins, какие плагины необходимы для развертывания файлов с одного сервера Linux на другой сервер Linux?

Ответы:


0

В Jenkins вы используете метки, чтобы определить, где проект может быть построен. Как только вы создадите новый элемент, вы увидите (в конфигурации задания) флажок «Ограничить, где этот проект может быть запущен». Здесь можно использовать имя подчиненного узла (например, slave4.mycompany) или создать метку, которая является контейнером для нескольких подчиненных. После правильного заполнения это задание будет всегда основываться на данном подчиненном узле.

Если вам нужно больше функциональности, попробуйте плагин NodeLabel Parameter (nodelabelparameter). Вы можете установить его из Manage Jenkins & gt; Управление плагинами & gt; Имеется в наличии.

Чтобы определить, на каком узле вы находитесь во время сборки, вы можете, например, вручную установить постоянные переменные среды на обоих ведомых сборщиках, например, $ SLAVENAME, возвращающий «buildslave1», или использовать команду linux «hostname» в ваших сценариях для определения текущего контекста и на основании этого вывода решите, как поступить.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.