我在Jenkins中遇到以下情况。具有多个值的单参数 - 引用扩展选项参数值
工作需要建立多个make
目标。这将通过每次运行多次调用make
来实现,因为它一次只允许一个目标。我希望允许用户选择在每次运行时构建哪些目标。
我试着用extended-choice parameter
插件(多选),但无法弄清楚如何从它解析多个值,以及如何将我的电话结构make
有人可以帮我这个
我在Jenkins中遇到以下情况。具有多个值的单参数 - 引用扩展选项参数值
工作需要建立多个make
目标。这将通过每次运行多次调用make
来实现,因为它一次只允许一个目标。我希望允许用户选择在每次运行时构建哪些目标。
我试着用extended-choice parameter
插件(多选),但无法弄清楚如何从它解析多个值,以及如何将我的电话结构make
有人可以帮我这个
扩展选项参数将始终将其选定值列为TARGET=value1,value2
。充其量,您可以强制执行这样的值TARGET="value1,value2"
您必须解析此TARGET
值才能将其转换为您想要的格式。
如果你可以传递给目标顺序make
,像make value1 value2
,所有你需要的是改变的是逗号,
在TARGET
价值空间。你没有提供你的操作系统,所以我会假设* nix。您可以使用以下方法快速做到这一点
${TARGET//,/ }
最后,由于make
似乎不支持多个目标(根据OP),我们需要一个循环。
所以,在你詹金斯执行shell构建步骤,类型:
for currentTarget in ${TARGET//,/ }; do
make $currentTarget
done
这将等同于:
make value1
make value2
至于事情的顺序:这些值的顺序将始终与作业配置中定义的相同。用户选择这些顺序无关紧要。
要求: 参数$ TARGETS有26个值(将来可能会添加/删除值)。用户有兴趣选择他想要建立的参数。 $ TARGETS = make1,make2,make3 .......
试用版: Jenkins“扩展选择参数”。可以将多个值分配给参数,并且用户可以选择多个值。 使用make $ TARGETS编译期间,出现错误,无法“make make1 make2”。 我需要 化妆make1 化妆make2
SOLUTION: 在$构建步骤,使用 “for循环”
为currentTarget当前{// TARGET,/};做 化妆$ currentTarget当前 做
由于@Slav 希望这有助于谁可能面临类似情况的人。
谢谢
究竟是什么卡住了? – Slav
对不起,评论不完整。所以...如果我将24个值分配给参数,用户可以选择他想要构建的值吗?而且,詹金斯会按顺序建造它们。我的意思是,哦,$ TARGET有4个值a,b,c和d。好的,让我们建立一个....完成...让我们建立B ...等.., – Jninja
我尝试使用“扩展参数插件”,其中我可以分配多个值的参数。选中复选框选项后,用户可以选择要为此作业选择的值。但是,这项工作没有成功。我将这些值定义为value = x,y ..失败结果表示TARGET = x,y未找到 – Jninja