Установка Jenkins-агента в Ubuntu 20.04.5

Оцените статью

Итак, погнали ставить агента на self-hosted решение. Я за докер в любых решениях, но давайте попробуем и другой взгляд на мир. Сделаем свой сборщик и подключим к мастер-узлу и обязательно отключаем функционал воркера на основном узле.

Установка Jenkins Worker (Аналогично мастеру)

# apt install default-jdk -y
# curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee   /usr/share/keyrings/jenkins-keyring.asc > /dev/null
# echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]   https://pkg.jenkins.io/debian-stable binary/ | sudo tee   /etc/apt/sources.list.d/jenkins.list > /dev/null
# apt update -y

Инструкция по запуску агента

Переделываем агента в сервис

На мастер-узле устанавливаем число задач выполняемых его воркером в 0

Обычно инструкция по запуску агента на узле выглядит примерно так.

# echo 879fe284TOKEN > secret-file
# curl -sO https://jenkins.interlan.xyz/jnlpJars/agent.jar
# java -jar agent.jar -jnlpUrl https://jenkins.interlan.xyz/manage/computer/srv%2Dprod%2Djenkins%2Dbuilder/jenkins-agent.jnlp -secret @secret-file -workDir «/var/jenkins»

Это инструкция для одноразового запуска и нам надо переделать это в сервис. Последовательность действий аналогичная для запуска любого jar в качестве сервиса, мы создаем пользователя, home будет в /opt/jenkins-builder и workDir положим там же в хомачке.

За основу возьмем заметку Простой «SystemD-сервис для запуска Java-приложений» и погнали банальную подготовку окружения сборщика.

# useradd jenkins-builder —base-dir /opt
# mkdir /opt/jenkins-builder
# chown -R jenkins-builder:jenkins-builder /opt/jenkins-builder
# su — jenkins-builder

Выглядит норм, но shell поменяем ему на bash или по вкусу.

SystemD-сервис для запуска агента:

[Unit]
Description=Jenkins Agent
After=syslog.target

[Service]
WorkingDirectory=/opt/jenkins-builder
User=jenkins-builder

ExecStart=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar agent.jar -jnlpUrl https://jenkins.interlan.xyz/manage/computer/srv%%2Dprod%%2Djenkins%%2Dbuilder/jenkins-agent.jnlp -secret 879TOKEN -workDir «/opt/jenkins-builder/»

[Install]
WantedBy=multi-user.target

Важные моменты:

  • Если URL содержит %, то его надо экранировать как %%
  • В чистом виде токен лучше не прописывать, а использовать хранилище в виде файла и передавать как @secret-file

Активируем агента:

# systemctl daemon-reload
# systemctl enable jenkins-agent
# systemctl start jenkins-agent

Related Posts

Неудачный эксперимент по установке ZoneMinder в Ubuntu 25.04

Пришло время реанимировать домашнюю систему видеонаблюдения на базе ZoneMinder. У меня как раз есть китайская камера BESDER 6024pb-jw201 которая уже год как не используется и просто смотрит в коридор для…

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

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

You Missed

Статус заряда батареи в Linux консоли

Статус заряда батареи в Linux консоли

Неудачный эксперимент по установке ZoneMinder в Ubuntu 25.04

Неудачный эксперимент по установке  ZoneMinder в Ubuntu 25.04

Терминальный сервер и RemoteAPP в Ubuntu Linux

Терминальный сервер и RemoteAPP в Ubuntu Linux

Примеры конфигурации HAProxy

Примеры конфигурации HAProxy
Установка и настройка InfluxDB (V2 OSS)

Немного экспериментов с Windows Server 2025

Немного экспериментов с Windows Server 2025