Copy Artifacts Plugin上是否有任何文档/示例,即“由构建参数指定”选项?
我正在尝试在this SO question中执行“join-diamond”管道,并且无法弄清楚在“从另一个项目复制工件”的Parameter Name
选项中放入什么构建步骤以正确复制我的工件。
我的所有作业都有一个PL_BUILD_NUMBER
参数,我想用它来选择要复制工件的构建。
此mailing list post表示参数必须是XML。所以我尝试了这个:
BUILD_SELECTOR=<SpecificBuildSelector><buildNumber>$PL_BUILD_NUMBER</buildNumber></SpecificBuildSelector>
但它不起作用。我在日志中得到了这个例外:
java.lang.NullPointerException
at java.io.StringReader.<init>(Unknown Source)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1035)
at hudson.plugins.copyartifact.BuildSelectorParameter.getSelectorFromXml(BuildSelectorParameter.java:80)
at hudson.plugins.copyartifact.ParameterizedBuildSelector.getBuild(ParameterizedBuildSelector.java:52)
at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:280)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
at hudson.model.Run.execute(Run.java:1740)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:233)
我应该放什么?
还有“这个版本是参数化的 - &gt;复制工件的构建选择器”,我不知道是否应该使用它...
谢谢!
答案 0 :(得分:5)
您正在混合 由构建参数指定 和 特定构建 。目前尚不清楚你在询问哪一个。
对于 由构建参数指定 ,您需要在两个位置进行配置:
BUILD_SELECTOR
)。BUILD_SELECTOR
,如果您同时调用了参数BUILD_SELECTOR
,则无需进行任何更改。 BUILD_SELECTOR
参数的值将根据您在构建之前在参数屏幕上选择的内容而发生很大变化。您可以通过将参数的值打印为测试(Windows上为echo %BUILD_SELECTOR%
,* nix上为echo $BUILD_SELECTOR
),然后手动运行构建并尝试使用不同的选择器来查看其可能的值。
具体来说,值:
<SpecificBuildSelector><buildNumber>123</buildNumber></SpecificBuildSelector>
将在用户在参数屏幕上选择特定版本时使用,并输入值123
如果您需要从作业外部设置此参数值(例如从脚本或 Parameterized Trigger plugin ),则需要遵循此特定结构,具体取决于你想要的选择。
编辑:重新阅读您的问题和您的实际要求(不是问题标题)
在您的情况下,您不需要“构建选择器以复制工件”参数。你只需要:
$PL_BUILD_NUMBER
(您说您已在作业中使用)