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