如何更改詹金斯在其奴隶中存储临时数据的位置。目前,它关闭了与我的奴隶的连接,因为它抱怨以下内容
Disk space is too low. Only 0.119GB left on /tmp.
我想将 tmpdir 位置移动到类似/var/tmp/
而不是/tmp
. 我怎样才能做到这一点?
如何更改詹金斯在其奴隶中存储临时数据的位置。目前,它关闭了与我的奴隶的连接,因为它抱怨以下内容
Disk space is too low. Only 0.119GB left on /tmp.
我想将 tmpdir 位置移动到类似/var/tmp/
而不是/tmp
. 我怎样才能做到这一点?
只需将“-Djava.io.tmpdir=/path/to/tmp”添加到 java 命令行选项(您不需要任何额外的服务包装器)。
根据您的安装,可能存在可以进入的现有启动脚本和/或配置文件。在我的 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/"
如果使用“SSH Slaves Plugin”,您可以在“Advanced settings”中设置JVM Options并添加:
-Djava.io.tmpdir=/my/temp
您可以使用Java Service Wrapper。并配置你的包装器(看例子)
wrapper.java.additional.2=-Djava.io.tmpdir=../tmp
或者您可以创建符号链接/var/tmp
文件夹并安装家庭 jenkins 守护程序。
在 Windows 代理上,假设您已将其设置为包含对 Java Web 启动调用的 Windows 服务,您应该在代理的目标文件夹中看到一个 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>
您需要重新启动服务才能看到您所做的修改。
在 FreeBSD 上运行,您可以通过将此行添加到您的/etc/rc.conf
:
jenkins_java_opts="-Djava.io.tmpdir=/var/tmp"
当 jenkins 被打包时,例如作为 Windows 服务引导,将配置添加到 %JENKINS_HOME%\jenkins.xml<arguments>
元素或从属设备 %JENKINS_HOME%\jenkins-slave.xml
与其他答案相同的信息,但来自 CloudBees 的官方支持文章 regading JNA error on Jenkins Master(尽管这同样适用于 Jenkins 节点):
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
使用运行 Jenkins 进程的 Unix 用户创建在从属设备上,您可以将其添加到 Jenkins -Djava.io.tmpdir=/var/tmp/ 中的 slaves 高级参数中