我正在使用jenkins-dsl插件。 我的种子作业成功完成后,我的dsl配置按预期创建了一个新作业(让我们调用新创建的作业" JobA")。 JobA应该运行一个sbt构建步骤。 第一次运行JobA时,它立即失败并出现以下错误:
ERROR: Build step failed with exception
java.lang.NullPointerException
at org.jvnet.hudson.plugins.SbtPluginBuilder.buildCmdLine(SbtPluginBuilder.java:159)
at org.jvnet.hudson.plugins.SbtPluginBuilder.perform(SbtPluginBuilder.java:111)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:408)
然而,如果我在jenkins ui进入JobA配置选项卡,我没有,一个,保存工作,而不是再次运行工作,它的工作原理! DSL附在下面。
有什么建议吗?
job('JobA') {
scm {
git {
remote {
github('XXXXXXX')
credentials('XXXXXXXX')
}
createTag(false)
branch('*/master')
}
}
triggers {
githubPush()
}
//sbt
steps {
sbt('sbt',
'clean compile test publish',
'-Dsbt.log.noformat=true',
'-Xmx2G -Xms512M')
}
}
答案 0 :(得分:2)
尝试在保存作业(或更好地为整个作业拍摄快照)目录之前和之后比较JobA的xml配置。你可能会发现一些东西
答案 1 :(得分:0)
你确定你在sbt电话中有正确数量的参数吗? The API for sbt表明可以/应该有五个。 (我不知道哪些可能是可选的。)
或者它可能与job
关键字有关?在migration notes第1.30节中,它说它已被弃用,而不是其他更精确的关键字。但是,它仍然经常用于以下文档中。
如果你从脚本中调用你的DSL,你肯定应该适应,例如,freeStyleJob。