在我的自由风格的Project Jenkins工作中,我有一个名为“COMPONENETS”的参数,它接受一个或多个字符串除以空格。
x1c 0d1x的数据
如果我在bash脚本阶段使用这个参数作为单个字符串(first
)传递,我可以实现我需要的(/path/to/first-*.tar.gz
将被处理):
<DO SOMETHING WITH> /path/to/${COMPONENTS}-*.tar.gz
字符串
但是当我尝试使用处理来更新我的Job时,例如,具有两个值的字符串(first second
):
for COMPONENT in $(echo "${COMPONENTS}"); do
<DO SOMETHING WITH> /path/to/$COMPONENT-*.tar.gz
done
型
这不工作,因为值似乎是空的-我得到了错误
'/path/to/-*.tar.gz': No such file or directory
'/path/to/-*.tar.gz': No such file or directory
型
那么我应该如何正确地在Jenkins上遍历列表参数呢?
1条答案
按热度按时间epggiuax1#
It works
我试了你的代码,它的工作原理如预期。检查字符的字符
字符串
构建参数
的数据
的数据
Jenkins版本:2.426.1
另一种选择
这也可以工作,而且更简单
型
结果
型
来源:https://stackoverflow.com/a/1469863/3957754
正则表达式
你可以用它来设计复杂的分裂
型
结果
的
资料来源:
Groovy
如果你有问题,我建议你使用脚本管道,在其中使用groovy你可以做任何你需要的事情:
型