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

Как изменить расположение djenkins `/tmp`?

Как я могу изменить местоположение, где jenkins хранит временные данные в своих подчиненных. В настоящее время он отключает подключение к моим подчиненным, потому что он жалуется на следующие

Disk space is too low. Only 0.119GB left on /tmp.

Я хочу переместить местоположение tmpdir в нечто вроде /var/tmp/ вместо /tmp. Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете использовать Java Wrapper. И настройте свою обертку (посмотрите пример)

wrapper.java.additional.2=-Djava.io.tmpdir=../tmp

Или вы можете создать символическую ссылку /var/tmp папку и поставить на дом дзенкин демона.

Ответ 2

Просто добавьте "-Djava.io.tmpdir =/path/to/tmp" в параметры командной строки java (вам не нужна дополнительная обертка сервиса).

В зависимости от вашей установки может существовать существующий файл запуска script и/или конфигурационный файл, в который он может войти. В моей системе fedora я могу добавить параметр в файл /etc/sysconfig/jenkins:

## Type:        string
## Default:     "-Djava.awt.headless=true"
## ServiceRestart: jenkins
#
# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.io.tmpdir=/var/tmp"

Ответ 3

На машине debian/ubuntu добавьте в файл /etc/default/jenkins следующее:

# use a different tmpdir for jenkins
JAVA_ARGS="$JAVA_ARGS -Djava.io.tmpdir=/var/tmp/"

Ответ 4

Запустив FreeBSD, вы можете настроить каталог temp, добавив эту строку в свой /etc/rc.conf:

jenkins_java_opts="-Djava.io.tmpdir=/var/tmp"

Ответ 5

Когда jenkins обертывают, например. загрузите в качестве службы Windows, добавьте конфигурацию в элемент% JENKINS_HOME%\jenkins.xml <arguments> или на подчиненном,% JENKINS_HOME%\jenkins-slave.xml

Ответ 6

Такая же информация, как и другие ответы, но официальная статья поддержки от CloudBees, отменяющая JNA-ошибку на Jenkins Master (хотя то же самое относится и к Jenkins Nodes):

https://support.cloudbees.com/hc/en-us/articles/215281717-Jenkins-fails-to-start-with-JNA-error

Чтобы изменить временный каталог, используемый Jenkins, вам необходимо:

  • добавить -Djava.io.tmpdir=$JENKINS_HOME/tmp в переменную JENKINS_JAVA_OPTIONS в файле /etc/sysconfig/jenkins или /etc/default/jenkins в зависимости от вашей ОС
  • создать /var/lib/jenkins/tmp с помощью пользователя Unix, который запускает процесс Jenkins

Ответ 7

На современном Jenkins вы можете использовать опцию пользовательского интерфейса в конфигурации Jenkins, которая называется "Переопределить временное местоположение каталога"

enter image description here

Ответ 8

В подчиненном устройстве вы можете просто добавить его в расширенный параметр slaves в Jenkins -Djava.io.tmpdir =/var/tmp/

Ответ 9

В агенте Windows, если вы настроили его как службу Windows, заключающую в себе вызов запуска Java Web, вы должны увидеть файл jenkins-slave.xml в целевой папке агента.

Вы можете отредактировать этот файл и добавить -Djava.io.tmpdir=D:\Whatever\folder\ в <arguments> чтобы настроить временную папку. Например

 <arguments>-Xrs -Djava.io.tmpdir=D:\Temp\ -jar "%BASE%\slave.jar" -jnlpUrl http://jenkins-master-whatever/slave-agent.jnlp -secret 999999999999999999999999999999999999999999999999999999999999</arguments>

Вам нужно будет перезапустить сервис, чтобы увидеть ваши изменения в работе.