为Jenkins服务配置系统属性

时间:2016-04-28 10:22:41

标签: jenkins javadoc

背景

我有以下Jenkins配置。

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

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

配置Javadoc plugin后,我快速点击只显示Javadoc帧的this issue,没有任何内容。

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

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

1 个答案:

答案 0 :(得分:2)

回答我自己的问题。

设置Jenkins服务的系统属性:

步骤

  1. 停止詹金斯(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)。
  6. 解释

    查看/etc/init.d/jenkins以查找与以下内容类似的行:

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

    这些告诉我们Jenkins守护进程将查找名为/ etc / default / jenkins的文件。如果存在,则.为该文件。

    如果您在$JAVA_ARGS中设置/etc/default/jenkins,则会在/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 docs)[https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy]中详述的那样,暂时还有一种方法可以做到这一点。阅读该页面并尝试更好地理解其含义。
    3. 更改内容安全策略会产生严重影响,特别是如果您的Jenkins是公开的。值得努力了解您正在修改哪些政策