Ssh агент
SSH Agent plugin нахер в данном случае не нужен. Он необходим только для подключения внутри stage с существующего агента к другому серверу.
Сервер, на котором будем выполнять команды:
Добавить пользователя jenkins и добавить нового пользователя в группу sudo, docker (в случае моей задачи)
sudo adduser jenkins
sudo usermod -aG sudo jenkins
sudo usermod -aG docker jenkins
Авторизоваться на сервере под пользователем jenkins
Установить java
sudo apt update
sudo apt install fontconfig openjdk-17-jre
Создать приватный и публичный ключи для доступа к серверу по ssh пользователя jenkins.
mkdir ~/.ssh && cd ~/.ssh
ssh-keygen -t rsa -C "Access key for Jenkins slaves"
cat id_rsa.pub >> ~/.ssh/authorized_keys
Ключ из файла id_rsa потребуется для настройки доступа Jenkins
Jenkins web интерфейс:
Настройки Jenkins -> Credentials -> System -> Global credentials -> Add credential
В раздел ключ вставить текст из файла id_rsa целиком (включая -----BEGIN... ------END...)
Перейти в Настроить Jenkins -> Nodes и создать узел
Параметры агента:
Параметр | Значение |
Удаленная корневая директория | /home/jenkins/jenkins-agent |
Метки | docker-agent-01 |
Host key verification strategy | Manually trusted key verification |
После настройки в узлах агент должен быть активен.
Тестовый pipeline
node('docker-agent-01') {
stage ('first'){
sh 'hostname'
}
}
должен вывести хост агента.