系统属性管理

System properties management

在 Jenkins 中是否有任何 "adequate" 更改系统属性的方法? easiest/fastest 改变它们的方法是什么?例如,我需要关闭无用的(在我的例子中)ping 线程。

Wiki 上列出了可用的系统属性以及如何设置它们:
https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties

要禁用slave ping,您可以将hudson.remoting.Launcher.pingIntervalSec设置为0

系统属性的设置方式与任何其他 Java 程序相同,例如:
java -Dhudson.remoting.Launcher.pingIntervalSec=0 -jar jenkins.war

我有类似的问题:我需要禁用 DNSMultiCast(设置 hudson.DNSMultiCast.disabled = false),但我不明白该怎么做

例如,https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties - 有这样的建议“......在 -jar 参数之前传递所有这些参数......”但我 运行 jenkins 在 tomcat所以我不确定我是否可以更改启动参数。

我尝试将 /etc/tomcat6/Catalina/localhost/jenkins.xml 更改为

<?xml version="1.0" encoding="UTF-8"?>
<Context >
 <Environment name="JENKINS_HOME" value="/var/jenkins"
         type="java.lang.String" override="false"/>
 <Environment name="hudson.DNSMultiCast.disabled" value="true"
         type="java.lang.Boolean" override="false"/>
</Context>

但我没有帮忙。 有人可以解释一下在使用 tomcat 时如何更改 jenkins 系统属性。

如果您在 Windows 上使用 Tomcat,您可以编辑文件 C:\apache-tomcat-7.0.67\conf\catalina.properties 并简单地添加行

hudson.DNSMultiCast.disabled=true

在文件末尾。然后保护文件并重新启动 Tomcat.

如果您真的想要一种快速简单的方法来更改系统 属性,您可以使用 script console

System.setProperty("hudson.remoting.Launcher.pingIntervalSec", 0)

但这不会在重启后继续存在。要使其永久化,请将设置添加到 java 参数。对我(CentOS,Jenkins 2.7.1)来说,这是一条大约一半的线 /etc/sysconfig/jenkins (对于其他发行版,我相信它是 /etc/default/jenkins),你应该将你的选项添加到现有列表中,如下所示:

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.remoting.Launcher.pingIntervalSec=0"

进行更改后,您必须重新启动 Jenkins(感谢 Mark Tickner)

如果您 运行 Jenkins 在 windows 作为服务而没有 tomcat,您可以编辑 jenkins.xml。在 -jar 之前的 <service><arguments> 中添加 属性。 然后重新启动服务。

<service>
    <!-- ... -->
    <arguments>-Xrs -Xmx256m  -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle  -Dhudson.tasks.MailSender.SEND_TO_UNKNOWN_USERS=true  -Dhudson.tasks.MailSender.SEND_TO_USERS_WITHOUT_READ=true  -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

也许这是一个糟糕的 hack,但我将其设置在需要设置的管道作业中。
像这样:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")  // allow formatted HTML pages to be published

它似乎有效 - 据我所知...

我按照上面提到的每个步骤进行操作,但都失败了。

所以我确实使用 timedatectl set-timezone Europe/London 命令更改了系统时区,然后我重新启动了 jenkins 服务 service jenkins restart 成功了。

  1. 我使用的是 Rehdat 7.5
  2. 詹金斯版本 2.168.
  3. Jenkins 通过 yum install jenkins
  4. 安装

希望对大家有所帮助。