【发布时间】:2015-07-07 04:50:46
【问题描述】:
在 Jenkins 中有一个构建作业 (QA_BUILD) 和一个部署作业 (QA_DEPLOY)。 QA_DEPLOY 作业最初设置为部署最新的稳定版本,并且运行良好。现在我已将其设置为参数化作业,我实际上可以在其中选择要部署的 QA_BUILD 作业的内部版本号,但它给了我这个错误:
ERROR: Build step failed with exception
java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:50)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1035)
at hudson.plugins.copyartifact.BuildSelectorParameter.getSelectorFromXml(BuildSelectorParameter.java:87)
at hudson.plugins.copyartifact.ParameterizedBuildSelector.getBuild(ParameterizedBuildSelector.java:52)
at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:354)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:75)
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:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Build step 'Copy artifacts from another project' marked build as failure
这是部署作业的设置方式:
我勾选了“这个构建是参数化的”
我选择了“Build selector for Copy Artifact”并将其命名为“BuildSelector”
在默认选择器的下拉菜单中,我选择了“特定构建”
稍后在构建步骤中,我选择了“从另一个项目复制工件”
对于“项目名称”,我选择了构建作业“QA_BUILD”。 对于“哪个构建”我在下拉菜单中选择了“由构建参数指定”,然后我参考了我上面创建的参数“${BuildSelector}”
这个变量 ${BuildSelector} 是破坏部署作业的原因。如果我对它构建的现有内部版本号进行硬编码。如何让它作为我可以设置的参数工作?看起来我做的一切都正确。
谢谢。
【问题讨论】:
标签: jenkins nullpointerexception