具有多个值的单个参数 - 引用扩展选择参数值

时间:2014-03-24 19:22:42

标签: jenkins

我在Jenkins遇到以下情况。

作业需要构建多个make目标。这将通过每次运行make的多次调用来实现,因为它一次只允许1个目标。我希望允许用户选择每次运行时要构建的目标。

我尝试使用extended-choice parameter插件(多选),但无法弄清楚如何从中解析多个值,以及如何将我的调用结构化为make

有人可以帮助我吗

2 个答案:

答案 0 :(得分:8)

扩展选择参数将始终将其选定值列为TARGET=value1,value2。最好,您可以像TARGET="value1,value2"

一样强制执行引用的值

您必须解析此TARGET值才能使其符合您想要的格式。

如果您可以按顺序将目标传递到make,例如make value1 value2,那么您只需将,的逗号TARGET更改为空格{ {1}}。你没有提供你的操作系统,所以我假设* nix。您可以使用以下内容快速执行

最后,由于${TARGET//,/ }似乎不支持多个目标(根据OP),我们需要一个循环。

因此,在Jenkins 执行Shell 构建步骤中,键入:

make

这相当于:

for currentTarget in ${TARGET//,/ }; do
    make $currentTarget
done

对于事物的顺序:这些值的顺序将始终与作业配置中定义的顺序相同。用户选择的顺序并不重要。

答案 1 :(得分:-1)

需要量: 参数$ TARGETS有26个值(将来可能会添加/删除值)。用户有兴趣选择他想要建立的参数。 $ =具体目标make1,make2,make3 .......

TRIAL: 詹金斯“扩展选择参数”。可以为参数指定多个值,用户可以选择多个值。 在使用make $ TARGETS构建期间,我收到错误,无法“make make1 make2”。 我需要 make make1 make make2

解: 在构建步骤中,使用“for loop”

for $ $ TARGET //,/}中的currentTarget;做     make $ currentTarget 完成

感谢@Slav 希望这可以帮助那些可能面临类似情况的人。

由于