【问题标题】:Setting the umask of the jenkins process设置jenkins进程的umask
【发布时间】:2013-01-09 03:41:23
【问题描述】:

我们的 jenkins CI 服务器 (v1.499) 在 CI 机器上运行调用 URL 的测试。这些 URL 背后的应用程序会随着单元测试过程的变化而更改相同的临时文件,因此这些文件需要是组可写的。我为apache already 解决了这个问题,但在詹金斯身上完全失败了。

修改/etc/default/jenkins 以包含umask 002 命令没有帮助。重启服务后我是checking that with gdb

那么如何更改 jenkins 的 umask 设置?

【问题讨论】:

    标签: linux jenkins file-permissions umask


    【解决方案1】:

    我在 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

    【讨论】:

    • 我必须在 /etc/init.d/functions 中设置 umask。这覆盖了 /etc/sysconfig/jenkins 条目。
    【解决方案2】:

    通过配置守护进程设置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"
    

    【讨论】:

    • 同时 Jenkins 已修复 - 如果 Jenkins 配置已设置 umask,则现在应该可以在没有上述修复的情况下开箱即用。
    【解决方案3】:

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

    【讨论】:

    • 它们是 ant 和基于 phing 的工作的混合体。
    • 在我的例子中,我希望 config.xml 文件是组可写的。
    猜你喜欢
    • 2010-09-30
    • 2012-07-20
    • 2011-10-28
    • 2015-03-23
    • 2014-05-16
    • 2011-04-22
    • 2011-03-11
    • 2017-06-17
    • 2018-09-10
    相关资源
    最近更新 更多