Управление свойствами системы
Есть ли "адекватный" способ изменить системные свойства в Jenkins? Какой самый простой / быстрый способ изменить их? Например, мне нужно отключить бесполезную (в моем случае) нить проверки связи.
6 ответов
Если вы действительно хотите быстрый и простой способ изменить системное свойство, вы можете использовать консоль скрипта
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 после того, как вы сделаете это изменение (спасибо Марку Тикнеру)
Если вы запускаете Jenkins на Windows как сервис без 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>
Доступные системные свойства и способы их настройки перечислены в вики:
https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties
Чтобы отключить подчиненный пинг, вы можете установить hudson.remoting.Launcher.pingIntervalSec
в 0
,
Системные свойства могут быть установлены так же, как и в любой другой Java-программе, например:java -Dhudson.remoting.Launcher.pingIntervalSec=0 -jar jenkins.war
Если вы используете Tomcat в Windows, вы можете редактировать файл C:\apache-tomcat-7.0.67\conf\catalina.properties
и просто добавьте строку
hudson.DNSMultiCast.disabled=true
в конце файла. Затем сохраните файл и перезапустите Tomcat.
У меня похожая проблема: мне нужно отключить 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>
но я не помог Может кто-нибудь объяснить, как изменить системные свойства jenkins при использовании tomcat.
Я выполнил все шаги, упомянутые выше, но это не удалось
Таким образом, я изменил часовой пояс системы, используя timedatectl set-timezone Europe/London
команда, а затем я перезапустил сервис Дженкинс service jenkins restart
это сработало.
- Я использовал Rehdat 7.5
- Дженкинс версия 2.168.
- Jenkins Установлен через
yum install jenkins
Я надеюсь, что это поможет кому-то.
Может быть, это плохой взлом, но я установил его в конвейерной работе, которая нуждается в настройке.
Как это:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") // allow formatted HTML pages to be published
Кажется, работает - насколько я могу судить...