Java 詹金斯;未能在/";中创建临时文件;为什么它要在那里写一个文件?
昨天詹金斯真是太棒了。今天,所有构建都失败了Java 詹金斯;未能在/";中创建临时文件;为什么它要在那里写一个文件?,java,jenkins,Java,Jenkins,昨天詹金斯真是太棒了。今天,所有构建都失败了 Jenkins Version 1.650 All plugins up to date. Latest CentOS. Fully patched. Jenkins installed via yum. 尝试获取我刚才运行的作业的控制台输出时,web控制台会声明没有日志: No such file: /1/log 当我看/var/log/jenkins.log: Feb 24, 2016 9:06:16 PM jenkins.model.Pe
Jenkins Version 1.650
All plugins up to date.
Latest CentOS. Fully patched.
Jenkins installed via yum.
尝试获取我刚才运行的作业的控制台输出时,web控制台会声明没有日志:
No such file: /1/log
当我看/var/log/jenkins.log
:
Feb 24, 2016 9:06:16 PM jenkins.model.PeepholePermalink updateCache
WARNING: Failed to update hudson.model.FreeStyleProject@24ab29e4[rails-server] lastFailedBuild permalink for null
java.io.IOException: Failed to create a temporary file in /
因此,看看这个日志,我想知道,为什么Jenkins试图写任何东西到/?
是文字/
,而不是相对路径?看起来的确如此。那不好,那我怎么修呢
Environment vars:
Name ↓ Value
_ /etc/alternatives/java
HOME /var/lib/jenkins
LANG en_US.UTF-8
LOGNAME jenkins
NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat
PATH /sbin:/usr/sbin:/bin:/usr/bin
PWD /
SHELL /bin/bash
SHLVL 3
TERM xterm-256color
USER jenkins
XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt
/var/lib/jenkins上的权限是正确的/tmp
是可写的,jvm正在为java.io.tmpdir
我给了Jenkins写/
的权限,以查看生成时会发生什么。它编写了以下文件:
lrwxrwxrwx 1 jenkins jenkins 2 Feb 24 21:47 lastFailedBuild -> 10
lrwxrwxrwx 1 jenkins jenkins 2 Feb 24 21:47 lastUnsuccessfulBuild -> 10
drwxr-xr-x 2 jenkins jenkins 4.0K Feb 24 21:47 10
JENKINS_HOME
应该指向JENKINS保存其状态的目录,通常是/var/lib/JENKINS。JENKINS_HOME是否在系统属性下设置?您是如何启动Jenkins的?看起来您正在将PWD设置为/
。虽然我有*nix和windows的背景,但除了windows,我从未在任何东西上使用过Jenkins,但这看起来是一个很好的开始。