2015-04-09 16 views
8

Gibt es eine "angemessene" Möglichkeit, Systemeigenschaften in Jenkins zu ändern? Was ist der einfachste/schnellste Weg sie zu ändern? Zum Beispiel muss ich den nutzlosen (in meinem Fall) Ping-Thread ausschalten.Verwaltung der Systemeigenschaften

Antwort

9

Wenn Sie wirklich eine schnelle und einfache Art und Weise wollen eine Systemeigenschaft zu ändern, können Sie mit dem script console

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

Aber das wird nicht einen Neustart überleben. Um es dauerhaft zu machen, füge die Einstellung den Java-Argumenten hinzu. Für mich (CentOS, Jenkins 2.7.1), die auf halber Strecke eine Linie geht um nach unten /etc/sysconfig/jenkins (für andere Distributionen glaube ich, es ist /etc/default/jenkins), wo Sie Ihre Wahl an die bestehende Liste wie folgt hinzufügen sollte:

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

Sie müssen um Jenkins neu zu starten, nachdem Sie diese Änderung vorgenommen haben (danke Mark Tickner)

+1

Aktualisierung der JENKINS_JAVA_OPTIONS funktionierte für mich, aber ich musste den Server neu starten, bevor es wirksam wurde –

+0

Verwenden von System.setProperty scheint nicht zu funktionieren, zumindest nicht für hudson.slaves.WorkspaceList. Ich setze es auf "+" und System.getProperty verifiziert dies, aber es verwendet immer noch den Standardwert "@". –

+0

Ubuntu 16.04 hat nicht sysconfig Ordner unter/etc, wie es zu beheben? – vikramvi

3

Die Systemeigenschaften verfügbar sind und wie sie im Wiki aufgeführt sind einzustellen:
https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties

Slave deaktivieren Pingen, können Sie hudson.remoting.Launcher.pingIntervalSec-0 eingestellt.

Systemeigenschaften können auf die gleiche Art und Weise wie bei jedem anderen Java-Programm eingestellt werden, zB:
java -Dhudson.remoting.Launcher.pingIntervalSec=0 -jar jenkins.war

1

ich das gleiche Problem: Ich brauche DNSMultiCast (set hudson.DNSMultiCast.disabled = false) deaktivieren und ich kann nicht verstehen, wie man es macht

zum Beispiel https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties - es gibt solche Ratschläge "... alle diese Argumente vor dem Argument -jar übergeben ..." aber ich laufe jenkins unter Tomcat so bin ich Ich bin mir nicht sicher, ob ich die Startparameter ändern kann.

Ich versuchte /etc/tomcat6/Catalina/localhost/jenkins.xml zu

<?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> 

aber ich nicht helfen zu ändern. Kann jemand erklären, wie man die jenkins Systemeigenschaften ändert, wenn Tomcat benutzt wird?

+0

http://stackoverflow.com/questions/31719756/how-to-stop-jenkins-log -von-werdend-riesig sieh dir das an.Sie können den Autor auch fragen, wie und wo er diese Java-Einstellung gesetzt hat und mit Ihren Jenkins vergleichen. – Zloj

2

Wenn Sie Tomcat unter Windows verwenden, können Sie die Datei C:\apache-tomcat-7.0.67\conf\catalina.properties bearbeiten und fügen Sie einfach die Linie

hudson.DNSMultiCast.disabled=true

am Ende der Datei. Sichern Sie dann die Datei und starten Sie Tomcat neu.

4

Wenn Sie Jenkins unter Windows als Dienst ohne Tomcat ausführen, können Sie jenkins.xml bearbeiten. Fügen Sie die Eigenschaft in <service><arguments> vor der -jar hinzu. Starten Sie den Dienst neu.

0

Vielleicht ist es ein schlechter Hack, aber ich setze es in den Pipeline-Job, der die Einstellung benötigt.
So:

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

Es scheint zu funktionieren - soweit ich das sagen kann ...