Как передать аргументы sbt в jenkinsfile - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь запустить шаг чистой сборки с помощью sbt в файл jenkinsfile.Я использую следующий шаг:

sh "${tool name: 'sbt-0.13.13', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt clean assembly -J-Dhttps.proxyHost=my-http-proxy -J-Dhttps.proxyPort=8080 -Xmx1g -Xms2g "

Но похоже, что он не работает из-за аргумента Xms, который не переопределяется, даже если я приведу его в приведенной выше команде.Вывод следующий:

[Pipeline] tool
[Pipeline] sh
[workspace] Running shell script
+ /var/lib/jenkins/tools/org.jvnet.hudson.plugins.SbtPluginBuilder_SbtInstallation/sbt-0.13.13/bin/sbt clean assembly -J-Dhttps.proxyHost=egress-http-proxy -J-Dhttps.proxyPort=8080 -J-Xmx1g -J-Xms2g
Picked up JAVA_TOOL_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true
Invalid initial heap size: -Xms7g-
Dorg.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStepExecution.defaultImage=172.30.37.22:5000/openpaas/jenkins-slave-jnlp:release
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Есть ли у вас какие-либо идеи, почему мой аргумент не используется или у вас есть какое-либо решение?Спасибо

1 Ответ

0 голосов
/ 07 июня 2019

На самом деле проблема вышеприведенного кода возникла из-за неправильной строки форматирования:

-Xms7g-Dorg.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStepExecution.defaultImage=172.30.37.22:5000/openpaas/jenkins-slave-jnlp:release

, которые пропускают пробел между -Xms7g и -Dorg.csanchez. Для передачи аргументов вы хотите использовать следующую команду и префиксные аргументы с -J:

sh "${tool name: 'sbt-0.13.13', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt clean assembly -J-Dhttps.proxyHost=my-http-proxy -J-Dhttps.proxyPort=8080 -J-Xmx1g -J-Xms2g "
...