【问题标题】:configuring system properties for Jenkins service为 Jenkins 服务配置系统属性
【发布时间】:2016-04-28 18:55:03
【问题描述】:

背景

我有以下 Jenkins 配置。

  • Ubuntu 机器
  • Jenkins 使用 apt-get 安装,并作为服务启动 (service jenkins start)。
  • 到目前为止,我还没有对 Jenkins 配置进行任何修改。

我们有几个 Ant 项目,我想使用 Jenkins 发布 Javadocs。

配置Javadoc plugin 后,我快速点击this issue,其中只显示Javadoc 框架,没有任何内容。

一些阅读(here 和here)告诉我,我需要配置 Jenkins 的内容安全策略,这是通过修改传递给 Jenkins 的系统属性来完成的。

然而,尽管我四处寻找,我还没有找到关于如何将这些系统属性传递给 Jenkins 服务的明确文档。我该怎么做?

【问题讨论】:

    标签: jenkins javadoc


    【解决方案1】:

    回答我自己的问题。

    为 Jenkins 服务设置系统属性:

    步骤

    1. 停止 Jenkins (service jenkins stop)。您将需要 root 权限。
    2. 编辑/etc/defaults/jenkins 文件。
    3. 为您要传递的 JAVA_ARGS 添加额外的一行。
    4. JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"your CSP configuration here\""
    5. 启动 Jenkins (service jenkins start)。

    说明

    查看/etc/init.d/jenkins 是否有类似以下的行:

    NAME=jenkins
    SCRIPTNAME=/etc/init.d/$NAME
    [ -r /etc/default/$NAME ] && . /etc/default/$NAME
    

    这些告诉我们 Jenkins 守护进程将寻找一个名为 /etc/default/jenkins 的文件。如果存在,它会.s 该文件。

    如果您在/etc/default/jenkins 中设置$JAVA_ARGS,它将在下面的行中被替换,位于/etc/init.d/jenkins 文件的后面:

    $SU -l $JENKINS_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -jar $JENKINS_WAR $JENKINS_ARGS" || return 2
    

    注意事项

    1. 即使执行了上述操作,Javadoc 也可能无法正确加载。尝试进行硬刷新(Chrome 上的 Ctrl-Shift-R)。
    2. 如(Jenkins 文档)[https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy] 中所述,也有一种临时方法可以执行此操作。阅读该页面并尝试很好地理解其中的含义。
    3. 更改内容安全策略会产生严重影响,尤其是当您的 Jenkins 是公开的时。了解您正在修改的政策是值得的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      相关资源
      最近更新 更多