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

Jenkins 具有多个值的单个参数-引用扩展选项参数值,jenkins,Jenkins,我在詹金斯遇到了以下情况 一个作业需要构建多个make目标。这将通过每次运行多次调用make实现,因为一次只允许一个目标。我希望允许用户选择每次运行要构建的目标 我尝试使用扩展选择参数插件(Multi-select),但不知道如何从中解析多个值,以及如何构造对make的调用 有人能帮我一下吗?扩展选择参数将始终将其选定值列为TARGET=value1,value2。充其量,您可以像下面这样强制引用值TARGET=“value1,value2” 您必须解析此目标值以将其转换为所需的格式 如果您可以

我在詹金斯遇到了以下情况

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

我尝试使用
扩展选择参数
插件(Multi-select),但不知道如何从中解析多个值,以及如何构造对
make的调用


有人能帮我一下吗?

扩展选择参数将始终将其选定值列为
TARGET=value1,value2
。充其量,您可以像下面这样强制引用值
TARGET=“value1,value2”

您必须解析此
目标值
以将其转换为所需的格式

如果您可以按顺序将目标传递给
make
,如
makevalue1value2
,则只需将
TARGET
值中的逗号
更改为空格
。你没有提供你的操作系统,所以我假设*nix。您可以使用以下命令快速执行此操作
${TARGET/,/}

最后,由于
make
似乎不支持多个目标(根据OP),我们需要一个循环

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

for currentTarget in ${TARGET//,/ }; do
    make $currentTarget
done
这相当于:

make value1
make value2
至于顺序:这些值的顺序将始终与作业配置中定义的顺序相同。用户选择这些选项的顺序无关紧要。

要求: 参数$TARGETS有26个值(以后可能会添加/删除这些值)。用户希望选择这次要构建的参数。 $TARGETS=make1、make2、make3

审判: 詹金斯“扩展选择参数”。可以为一个参数分配多个值,用户可以选择多个值。 在生成make$目标的过程中,我遇到了错误,无法“make1-make2”。 我需要 制造 制造

解决方案: 在构建步骤中,使用“for循环”

对于${TARGET/,/}中的currentTarget;做 使$currentTarget成为当前目标 完成

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


谢谢

你到底在说什么?抱歉,评论不完整。那么…如果我给一个参数分配24个值,用户可以选择他想要构建的值吗?詹金斯会按顺序建造它们吗。我的意思是,ohh$TARGET有4个值a、b、c和d。好的,让我们建一个……完成……让我们建一个……等等。。等等,我尝试使用“扩展参数插件”,其中我可以为一个参数分配多个值。选中复选框选项后,用户可以选择要为此作业选择的值。但是,这项工作没有成功。我将这些值定义为value=x,y.。失败结果显示TARGET=x,y未找到感谢您的响应。使用“make value1 value2”返回错误:它表示每次只能指定一个目标…因此生成流应该类似于…TARGETS=make1 make2…使用$target=make1执行生成,然后使用$target=make2执行生成。@Anvesh修改了场景的答案:为循环中的每个目标调用
make
。请注意,这是一个非常基本的脚本,没有任何错误检查。另请注意
${TARGET//,/}
(要替换所有出现的
,而不仅仅是第一个。@arielma for循环解决方案应该适合您too@arielma我真的不知道jenkinsfile的语法,所以不能评论,但是如果语法正确,那么是的,我不明白你为什么不接受我的答案,然后在你的答案中重复同样的事情。哦..对不起,我我试图给你的答案打分,但我不小心检查了它。将其还原。ThanksCheers:),声誉就像我们的食物。我们为食物工作:P