Ответ 1
Вы можете использовать Java Wrapper. И настройте свою обертку (посмотрите пример)
wrapper.java.additional.2=-Djava.io.tmpdir=../tmp
Или вы можете создать символическую ссылку /var/tmp
папку и поставить на дом дзенкин демона.
Как я могу изменить местоположение, где jenkins хранит временные данные в своих подчиненных. В настоящее время он отключает подключение к моим подчиненным, потому что он жалуется на следующие
Disk space is too low. Only 0.119GB left on /tmp.
Я хочу переместить местоположение tmpdir в нечто вроде /var/tmp/
вместо /tmp
. Как я могу это сделать?
Вы можете использовать Java Wrapper. И настройте свою обертку (посмотрите пример)
wrapper.java.additional.2=-Djava.io.tmpdir=../tmp
Или вы можете создать символическую ссылку /var/tmp
папку и поставить на дом дзенкин демона.
Просто добавьте "-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"
На машине debian/ubuntu добавьте в файл /etc/default/jenkins
следующее:
# use a different tmpdir for jenkins
JAVA_ARGS="$JAVA_ARGS -Djava.io.tmpdir=/var/tmp/"
Запустив FreeBSD, вы можете настроить каталог temp, добавив эту строку в свой /etc/rc.conf
:
jenkins_java_opts="-Djava.io.tmpdir=/var/tmp"
Когда jenkins обертывают, например. загрузите в качестве службы Windows, добавьте конфигурацию в элемент% JENKINS_HOME%\jenkins.xml <arguments>
или на подчиненном,% JENKINS_HOME%\jenkins-slave.xml
Такая же информация, как и другие ответы, но официальная статья поддержки от 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На современном Jenkins вы можете использовать опцию пользовательского интерфейса в конфигурации Jenkins, которая называется "Переопределить временное местоположение каталога"
В подчиненном устройстве вы можете просто добавить его в расширенный параметр slaves в Jenkins -Djava.io.tmpdir =/var/tmp/
В агенте 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>
Вам нужно будет перезапустить сервис, чтобы увидеть ваши изменения в работе.
Если вы используете "Плагин подчиненных SSH", вы можете установить Параметры JVM в "Дополнительные настройки" и добавить:
-Djava.io.tmpdir=/my/temp