Установка 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

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования