Как установить опцию JVM в Jenkins глобально для каждой работы?

недавно я установил новый JDK (1.7u9), и я получил некоторые очень странные VerifyErrors. в потоке Я нашел, что это может помочь мне, если я использую -XX:-UseSplitVerifier волшебный переключатель для компиляции.

что я хотел бы сделать, это установить этот параметр Java глобально в Jenkins, но не нашел для него никаких конфигураций. может кто-нибудь помочь мне, как я могу это сделать?

самое близкое, что я смог придумать, - это установить аргумент через Maven, но я должен делать это для каждой конфигурации проекта - и я хотел бы избежать этого.

спасибо заранее.

4 ответов


В главном менюManage Jenkins ->Configure System вы можете установить его в поле для Global MAVEN_OPTS.

немного неясно, хотите ли вы, чтобы опция была включена для самого контейнера Дженкинса или только для заданий, выполняемых в нем, но если последнее, и вы только выполняете задания maven, это то, что я бы сделал.

спасибо,


Если вы развертываете Дженкинса на Tomcat или Glassfish, я хотел бы предложить вам установить дальнейшую конфигурацию следующим образом: -

Кот

установите переменную среды с именем CATALINA_OPTS, например,

SET CATALINA_OPTS="-XX:-UseSplitVerifier"
EXPORT CATALINA_OPTS

Сервер GlassFish

отредактируйте [your_domain]/config/домен.в XML

<java-config ....>
    ....
    <jvm-options>-XX:-UseSplitVerifier</jvm-options>
</java-config>

В любом случае, если вы развертываете его на другом сервере приложений, обратитесь к руководству администратора сервера приложений чтобы настроить дополнительные параметры JVM.

обновление:

Если вы только хотите применить этот параметр JVM к проекту Maven, установите переменную среды с именем MAVEN_OPTS, например,

SET MAVEN_OPTS="-XX:-UseSplitVerifier"
export MAVEN_OPTS

Я надеюсь, что это может помочь.

С уважением,

Charlee Ch.


в Windows есть Дженкинс.в 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 (или Дженкинс-ря)

для CentOS, изменить JENKINS_JAVA_OPTIONS внутри файла: / etc/sysconfig / jenkins (или Дженкинс-ря)


по-видимому, единственный способ установить общесистемные свойства JVM в Дженкинсе-это Groovy Script .

создать init.groovy.d в Jenkins home и поместите в него файл groovy (load-properties.groovy). В скрипте Groovy программно задайте свойства системы (см. ссылке подробнее):

       props.each { key, value ->
        System.setProperty(key, value)

вышеупомянутое решение спасло мой день, поскольку мне нужно было отключить jsse.enableSNIExtension во время проверки SCM, и он должен быть доступен для плагина SVN, а не для Знаток.

здесь С jdks/jdk/properties XML-теги, но без документов.