系统属性管理



在 Jenkins 中是否有任何"充分"的方法来更改系统属性?更改它们的最简单/最快的方法是什么?例如,我需要关闭无用的(在我的情况下)ping线程。

如果您确实想要一种快速简单的方法来更改系统属性,则可以使用脚本控制台

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)

如果你在没有tomcat的情况下在Windows上运行Jenkins作为服务,你可以编辑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>

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

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

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

如果您在Windows上使用Tomcat,则可以编辑文件C:apache-tomcat-7.0.67confcatalina.properties,只需添加行即可

hudson.DNSMultiCast.disabled=true

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

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

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

我试图将/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时如何更改詹金斯系统属性。

也许这是一个糟糕的黑客,但我在需要设置的管道作业中设置了它。
喜欢这个:

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 安装

我希望这会对一些人有所帮助。