系统属性管理

Zlo*_*loj 20 jenkins

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

and*_*ien 23

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

System.setProperty("hudson.remoting.Launcher.pingIntervalSec", 0)
Run Code Online (Sandbox Code Playgroud)

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

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.remoting.Launcher.pingIntervalSec=0"
Run Code Online (Sandbox Code Playgroud)

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

  • 在基于 Debian / Ubuntu 的 Linux 发行版上,您应该使用`JAVA_ARGS`。 (3认同)
  • 更新 JENKINS_JAVA_OPTIONS 对我有用,但我必须在它生效之前重新启动服务器 (2认同)
  • 使用 System.setProperty 似乎不起作用,至少不适用于 hudson.slaves.WorkspaceList。我将它设置为“+”并且 System.getProperty 验证了这一点,但它仍然使用默认值“@”。 (2认同)

Ste*_*ann 9

如果你在Windows上运行Jenkins作为没有tomcat的服务,你可以编辑jenkins.xml.在<service><arguments>之前添加属性-jar.比重启服务.

<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>
Run Code Online (Sandbox Code Playgroud)


Chr*_*Orr 5

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

要禁用从机 ping,您可以设置hudson.remoting.Launcher.pingIntervalSec0

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