Подтвердить что ты не робот

Изменить JENKINS_HOME на Red Hat Linux?

Я использовал эту процедуру для установки Jenkins:

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions

После его запуска я обнаружил, что раздел /var/lib/jenkins на моем сервере очень маленький. Я хочу переместить его, но я не хочу менять пользователя, с которым он работает. Я новичок в Linux, и я в тупике. Как переместить его, например, в папку Home/Public? У пользователя "Jenkins" нет домашней папки. Его запуск как демон при запуске, поэтому я не знаю, где настроить эти параметры. Могу ли я создать домашнюю папку для пользователя Jenkins? Как?

Я прочитал эту статью:

https://wiki.jenkins-ci.org/display/JENKINS/Administering+Jenkins

но не понимаю, КАК "установить новый дом Дженкинса". Я использовал команду export и перезапустил службу, но старый путь все еще отображается на экранах Manage Jenkins.

Я также прочитал 2-3 похожих вопроса о stackoverflow, но для меня всегда есть недостающая часть. Где найти этот файл, где я постоянно меняю путь?

4b9b3361

Ответ 1

Вот простой способ решить вашу проблему. Сначала переместите каталог Jenkins с /var/lib/jenkins на /home/jenkins. Затем создайте символическую ссылку в /var/lib/jenkins, указывая на /home/jenkins. И, конечно, остановите службу Дженкинса, прежде чем делать это.

sudo service jenkins stop
sudo mv /var/lib/jenkins /home
sudo ln -s /home/jenkins /var/lib/jenkins
sudo service jenkins start

Ответ 2

Мне удалось изменить исходное местоположение для Jenkins, изменив содержимое файла /etc/sysconfig/jenkins следующим образом:

JENKINS_HOME="/home/jenkins"

Ответ 3

Хорошо, я перечитал ваш вопрос немного поближе, давайте посмотрим, сможем ли мы это понять. Я собираюсь перечислить некоторую информацию, которую вы можете или не можете знать.

  • Установки дженкинсов и дома дженкинсов - это не одно и то же. Один из них - это военный файл и другие части, которые нужно запустить в прямом эфире. jenkins_home - это место, где хранятся ваши данные. По умолчанию jenkins_home живет в ~/.jenkins. Когда вы начинаете jenkins, он ищет переменную окружения, чтобы сообщить ей, где найти эти файлы.

  • Jenkins работает как отдельный пользователь, который по умолчанию является jenkins. Таким образом, это не мешает вам. У пользователя jenkins не будет доступа к ВАШЕЙ домашней директории, поэтому это будет плохое решение. В идеале у него будет собственный домашний каталог /home/jenkins. Тогда ваш домашний каталог может быть /home/jenkins/.jenkins. Вы говорите, что папка не существует - если у вас нет доступа к ней для ее создания, это совершенно нормально, вы можете указать ЛЮБАЯ папка. Тем не менее, пользователь jenkins должен владеть этой папкой для чтения и записи на нее.

  • Похоже, Дженкинс на redhat будет работать с tomcat по умолчанию. Документация о том, как установить переменные среды для tomcat, https://wiki.jenkins-ci.org/display/JENKINS/Tomcat

  • Все это настроено с помощью script. https://wiki.jenkins-ci.org/display/JENKINS/JenkinsLinuxStartupScript, похоже, используется для этой цели. Даже если вы ничего не знаете о сценариях оболочки, это не слишком сложно... строки С# являются комментариями. Первая строка

    JENKINS_USER = Дженкинс

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

export JENKINS_BASEDIR=/home/jenkins

export CATALINA_OPTS="-DJENKINS_HOME=$JENKINS_BASEDIR/jenkins-home -Xmx512m -Djava.awt.headless=true"

Это позволяет вам установить каталог, в котором должны жить jenkins, а затем устанавливает каталог jenkins_home в этот /jenkins -home.

Для вашего приложения вы можете сделать что-то вроде этого

export CATALINA_OPTS="-DJENKINS_HOME=/var/jenkinsmount/home -Xmx512m -Djava.awt.headless=true"

Это сохранит все ваши данные сборки (которая является частью, которая растет!) в /var/jenkinsmount/home... оставив остальные ваши файлы в их текущем местоположении.

Я не использовал его на redhat, но, надеюсь, я достаточно объяснил, чтобы вы действительно понимали, что происходит, чтобы вы могли это сделать!

Другие сведения:

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Unix+daemon

Ответ 4

Я столкнулся с той же проблемой и вопросом. Соединяя некоторые точки, я мог бы исправить свои Дженкинс после того, как я перевел Дженкинса в новое место из-за той же проблемы -пространства на диске в /var/lib/jenkins.

Вот процедуры, которые я должен был выполнить, чтобы заставить его работать, принимая во внимание, что я указываю Дженкинсу на нестандартный порт. (Я применил этот процесс на 2 сервера)

Сначала переместите каталог Jenkins из /var/lib/jenkins в/opt/jenkins

sudo service jenkins stop
sudo mv /var/lib/jenkins /opt/

Теперь вы можете изменить рабочее пространство и создать каталог в любом другом месте на вашем компьютере. Jenkins предоставляет 3 предопределенные переменные, которые могут использоваться для указания нового местоположения:

JENKINS_HOME - домашний каталог Дженкинса

ITEM_ROOTDIR - корневой каталог задания, для которого выделено рабочее пространство

ITEM_FULLNAME - '/-рассмотренное название работы, например "foo/bar"

sudo su jenkins (access as Jenkins user)
JENKINS_HOME=/opt/jenkins
ITEM_ROOTDIR=/opt/jenkins
ITEM_FULLNAME=/opt/jenkins
exit (exit Jenkins user)

Теперь отредактируйте конфигурацию jenkins

/opt/jenkins$ sudo nano /etc/default/jenkins

Измените следующую строку

#jenkins home location
#JENKINS_HOME=/var/lib/$NAME (here is the default)
JENKINS_HOME=/opt/jenkins (that is our new location)

изменить домашний каталог пользователя

sudo usermod -d /opt/jenkins/ jenkins
sudo service jenkins start

Ответ 5

Местоположение Ричарда Чена, где я нашел файл jenkins в моей системе CentOS 6.6.

  • sudo service jenkins stop
  • mv/var/lib/jenkins/home/mylocation/
  • (убедитесь, что новое местоположение имеет правильное владение и группу - Дженкинс).
  • изменил содержимое файла /etc/sysconfig/jenkins следующим образом:

    JENKINS_HOME = "/главная/MyLocation"

  • sudo service jenkins start

Ответ 6

Если у кого-то есть проблемы с пространством, и вам нужно переместить Дженкинса, просто хочу повторить, что:

  1. sudo service jenkins stop
  2. sudo mv/var/lib/jenkins/home
  3. sudo ln -s/home/jenkins/var/lib/jenkins
  4. sudo service jenkins start

отлично работает, так что спасибо человеку, который опубликовал этот ответ несколько лет назад!

Ответ 7

Некоторые команды работают для меня, как показано ниже:

Шаг 1. Остановите службу jenkin и переместите папку

systemctl stop jenkins
mv /var/lib/jenkins /whatever/folder
sudo chown jenkins -R /whatever/folder

Шаг 2. Изменить домашнее местоположение jenkins в /etc/default/jenkins

JENKINS_HOME=/whatever/folder/$NAME

Шаг 3. Перезапустите сервис jenkins

systemctl start jenkins