在 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
它起作用了。
- 我正在使用 Rehdat 7.5
- 詹金斯版本 2.168。
- Jenkins 通过
yum install jenkins
安装
我希望这会对一些人有所帮助。