Как установить параметр JVM в Jenkins глобально для каждой работы?
Я недавно установил новый JDK (1.7u9), и я получил очень странный VerifyError
s. В теме я обнаружил, что это может помочь мне, если я использую -XX:-UseSplitVerifier
магический переключатель для компиляции.
То, что я хотел бы сделать, это установить этот параметр Java глобально в Jenkins, но не нашел никаких конфигураций для него. Может кто-нибудь помочь мне, как я могу это сделать?
Самая близкая вещь, которую я смог придумать, это установить аргумент через Maven, но я должен сделать это для каждой конфигурации проекта - и я бы хотел этого избежать.
Заранее спасибо.
4 ответа
Под главным пунктом меню Manage Jenkins
->Configure System
Вы можете установить его в поле для Global MAVEN_OPTS
,
Немного неясно, хотите ли вы, чтобы опция была включена для самого контейнера Jenkins или только для запущенных в нем заданий, но если последний и вы выполняете только задания maven, это то, что я бы сделал.
Ура,
Если вы развернете Jenkins на Tomcat или Glassfish, я хотел бы предложить вам настроить следующую конфигурацию следующим образом:-
Кот
Установите переменную среды с именем CATALINA_OPTS, например
SET CATALINA_OPTS="-XX:-UseSplitVerifier"
EXPORT CATALINA_OPTS
Стеклянная рыба
Отредактируйте [your_domain]/config/domain.xml
<java-config ....>
....
<jvm-options>-XX:-UseSplitVerifier</jvm-options>
</java-config>
В любом случае, если вы развернете его на другом сервере приложений, обратитесь к руководству администратора вашего сервера приложений, чтобы настроить дополнительные параметры JVM.
ОБНОВЛЕНО:
Если вы хотите применить эту опцию JVM только к проекту Maven, установите переменную среды с именем MAVEN_OPTS, например
SET MAVEN_OPTS="-XX:-UseSplitVerifier"
export MAVEN_OPTS
Я надеюсь, что это может помочь.
С Уважением,
Чарли Ч.
В Windows в домашнем каталоге Jenkins есть файл jenkins.xml. Просто добавьте необходимые параметры JVM под тегом arguments:
<arguments>
-Xrs -Xmx256m -XX:-UseSplitVerifier
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080
</arguments>
Для большинства дистрибутивов Linux измените JENKINS_ARGS внутри файла: / etc / default / jenkins (или jenkins-oc)
Для CentOS измените JENKINS_JAVA_OPTIONS внутри файла: / etc / sysconfig / jenkins (или jenkins-oc)
По-видимому, единственный способ установить общесистемные свойства JVM в Jenkins - это использовать Groovy Script.
Создать init.groovy.d
в доме Дженкинс и поместите в него отличный файл (load-properties.groovy
). В скрипте Groovy установите системные свойства программно (подробности см. По ссылке выше):
props.each { key, value ->
System.setProperty(key, value)
Приведенное выше решение спасло мой день, так как мне нужно было отключить jsse.enableSNIExtension
во время проверки SCM, и он должен быть доступен для плагина SVN, а не для Maven.
Есть config.xml
файл с jdks/jdk/properties
XML-теги, но это недокументировано.