Найти в Дзене
Fre4Die

Jenkins и его установка в России

До какого-то момента всё идёт штатно. Установку сделаем на Oracle Linux Ставим репозиторий sudo wget -O /etc/yum.repos.d/jenkins.repo     https://pkg.jenkins.io/rpm-stable/jenkins.repo Ставим зависимости и сам пакет dnf install fontconfig java-21-openjdk dnf install jenkins И вот тут начинаются пляски. При первой загрузке модуль у вас может начать повисать на старте. Причем без ошибок. Причина в том что Jenkins пытается качнуть плагины, а они находятся за CDN. К сожалению ресурсы спрятанные за рядом CDN из России недоступны. Это приводит к определённому моменту роста нас как инженеров. sudo mkdir -p /var/lib/jenkins sudo tee /var/lib/jenkins/jenkins.install.UpgradeWizard.state > /dev/null <<'EOF' 2.0 EOF sudo chown jenkins:jenkins /var/lib/jenkins/jenkins.install.UpgradeWizard.state Заставляем Jenkins пропустить инициализацию. Всё вроде бы хорошо, однако теперь нам не подходит стандартным паролем из Поэтому лепим вот такого кадавра: sudo mkdir -p /var/lib/jenkins/init.groovy.d sudo

До какого-то момента всё идёт штатно.

Установку сделаем на Oracle Linux

Ставим репозиторий

sudo wget -O /etc/yum.repos.d/jenkins.repo     https://pkg.jenkins.io/rpm-stable/jenkins.repo

Ставим зависимости и сам пакет

dnf install fontconfig java-21-openjdk

dnf install jenkins

И вот тут начинаются пляски. При первой загрузке модуль у вас может начать повисать на старте. Причем без ошибок.

Причина в том что Jenkins пытается качнуть плагины, а они находятся за CDN. К сожалению ресурсы спрятанные за рядом CDN из России недоступны. Это приводит к определённому моменту роста нас как инженеров.

sudo mkdir -p /var/lib/jenkins

sudo tee /var/lib/jenkins/jenkins.install.UpgradeWizard.state > /dev/null <<'EOF'

2.0

EOF

sudo chown jenkins:jenkins /var/lib/jenkins/jenkins.install.UpgradeWizard.state

Заставляем Jenkins пропустить инициализацию.

Всё вроде бы хорошо, однако теперь нам не подходит стандартным паролем из

Поэтому лепим вот такого кадавра:

sudo mkdir -p /var/lib/jenkins/init.groovy.d

sudo tee /var/lib/jenkins/init.groovy.d/basic-security.groovy > /dev/null <<'EOF'

#!groovy

import jenkins.model.*

import hudson.security.*

def instance = Jenkins.get()

def hudsonRealm = new HudsonPrivateSecurityRealm(false)

if (hudsonRealm.getUser("admin") == null) {

hudsonRealm.createAccount("admin", "admin123")

}

instance.setSecurityRealm(hudsonRealm)

def strategy = new FullControlOnceLoggedInAuthorizationStrategy()

strategy.setAllowAnonymousRead(false)

instance.setAuthorizationStrategy(strategy)

instance.save()

EOF

Теперь можем войти, Admin и пароль admin123

Нам надо поставить в настройках http://ваш_IP:8080/manage/pluginManager/advanced

Там будет update site туда надо поставить без кавычек:

"https://mirror.yandex.ru/mirrors/jenkins/updates/update-center.json"

Меняем пароль на более безопасный.

Удаляем скрипт чтобы не сносить пароль при каждом рестарте:

rm /var/lib/jenkins/init.groovy.d/basic-security.groovy

systemctl restart jenkins

systemctl enable jenkins

firewall-cmd --permanent --zone=public --add-port=8080/tcp

firewall-cmd --reload

Очень, может быть и крайне вероятно что есть более простой способ. Если знаете поделитесь, другого варианта я не нашел. По крайней мере на момент написания.