Установка или обновление Jenkins — ошибка пермишенов при сборке — запуск сервиса Jenkins от юзера

Jenkins update

При установке и обновлении Jenkins, сервис в Linux стартуется от лица стандартного пользователя «jenkins», что может приводить к ошибкам вида «wrong permissions» или подобным на фазе отработки процесса сборки проекта.

Особенно это актуально, когда идет сборка на основе репозитория и права на папке проекта принадлежат определенному пользователю. Например, ec2-user для амазонских линуксов, или ubuntu — для убунту, соответственно.

В таком случае, требуется запускать сервис Jenkins от иного пользователя, а не стандартного. И нужно сделать следующее:

  • Находим конфигурационный файл запуска сервиса Jenkins
systemctl status jenkins

и находим путь к конфигу, смотрите скриншот ниже

Jenkins status 01
jenkins status 02
  • Стопаем Jenkins и редактируем User and Group в конфиг-файле.

В случае примера со второго скрина — основной конфигурации имеет под-конфиг, в поле JENKINS_CONFIG (JENKINS_CONFIG=/etc/sysconfig/jenkins)

systemctl stop jenkins
# путь к конфигу ниже берем из подхода, описанного выше
nano /usr/lib/systemd/system/jenkins.service

Комментируем текущие User and Group и вставляем необходимые, сохраняем файл

#User=jenkins
#Group=jenkins
User=ec2-user
Group=ec2-user
  • Кроме этого, нужно назначить права на папку с jenkins для этого пользователя.

Обычно Jenkins устанавливается по пути /var/lib/jenkins/ :

chown -R ec2-user:ec2-user /var/lib/jenkins/
  • Все готово для старта сервиса Jenkins:
systemctl start jenkins

В интерфейсе Дженкинса можно проверить, что новый юзер «применился»:

Manage Jenkins -> System Information -> Environment Variables
поле — USER