我们的 jenkins CI 服务器 (v1.499) 在 CI 机器上运行调用 URL 的测试。这些 URL 背后的应用程序会随着单元测试过程的更改而更改相同的临时文件,因此这些文件需要是组可写的。我已经为 apache解决了这个问题,但是 jenkins 完全失败了。
修改/etc/default/jenkins
以包含umask 002
命令无济于事。重新启动服务后,我正在检查。gdb
那么如何更改詹金斯的 umask 设置?
我们的 jenkins CI 服务器 (v1.499) 在 CI 机器上运行调用 URL 的测试。这些 URL 背后的应用程序会随着单元测试过程的更改而更改相同的临时文件,因此这些文件需要是组可写的。我已经为 apache解决了这个问题,但是 jenkins 完全失败了。
修改/etc/default/jenkins
以包含umask 002
命令无济于事。重新启动服务后,我正在检查。gdb
那么如何更改詹金斯的 umask 设置?
我在 Ubuntu 12.04.5 上遇到了同样的问题
似乎他们已将标准 umask 从 022 更改为 027 以提高安全性
https://www.mail-archive.com/jenkinsci-commits@googlegroups.com/msg30397.html
因此,我通过更改/etc/default/jenkins
为UMASK=002
解决了我的问题,将其切换回了我的设置,也许你确实设置错了,或者忘记重新启动詹金斯。
检查正在运行的守护进程的umask
ps ax | grep jenkins | grep umask
如果这些测试使用 Ant 运行,那么您可以尝试~/.antrc
在 Ant 启动时调用的文件中设置 umask。
通过配置守护进程来设置umask,只需添加--umask=002
到/etc/init.d/jenkins中的守护进程args:
DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE --umask=002"