设置Jenkins进程的umask

10
我们的Jenkins CI服务器(v1.499)运行测试,调用CI机器上的URL。这些URL后面的应用程序更改与单元测试进程更改相同的临时文件,因此这些文件需要组可写权限。我已经为apache设置好了,但在Jenkins中彻底失败了。
修改/etc/default/jenkins以包含umask 002命令并不能解决问题。我在重启服务之后用gdb进行了检查。
那么我该如何更改Jenkins的umask设置?
3个回答

3

我在Ubuntu 12.04.5上遇到了同样的问题。

看起来他们已经将标准umask从022更改为027以提高安全性。

https://www.mail-archive.com/jenkinsci-commits@googlegroups.com/msg30397.html

所以,我通过更改/etc/default/jenkins中的内容将其切换回来,使之为UMASK=002。这解决了我的问题,也许你设置错了或者忘记重启Jenkins。

检查运行中的进程的umask:

ps ax | grep jenkins | grep umask


1
我必须在 /etc/init.d/functions 中设置 umask。这将覆盖 /etc/sysconfig/jenkins 条目。 - suman j

0

通过配置守护进程设置umask,只需在/etc/init.d/jenkins中的守护进程参数中添加--umask=002即可:

DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE --umask=002"

1
与此同时,Jenkins已经修复 - 如果Jenkins配置设置了umask,则现在应该可以直接使用,无需进行上述修复。 - Cybot

0
如果这些测试是通过Ant运行的,那么您可以尝试在~/.antrc文件中设置umask,该文件在Ant启动时被调用。

它们是基于Ant和Phing的混合任务。 - cweiske
1
在我的情况下,我希望config.xml文件具有组可写属性。 - OrangeDog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接