如何将包含通配符的变量传递给Jenkins?

时间:2019-05-23 20:02:40

标签: jenkins jenkins-pipeline jenkins-groovy

我正在尝试构建一个jar并包含特定文件:

jar cf models.jar target/classes/**/models

但是,我正在建立一个带有变量的管道:

jar cf ${JAR_NAME}.jar ${FILE_SEARCH_PATTERN}

这将导致命令运行为:

jar cf models.jar 'target/classes/**/models'

这会导致系统找不到任何文件,因为引号会破坏搜索。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的办法;尽管无法解决在Jenkins中如何转换groovy脚本的问题,但这可能会帮助尝试实现类似目标的人们。

# in project Jenkinsfile
file_search_path = "target/classes/.*/models/.*\\.class"

# in library Jenkinsfile
files=\$(find . -print | grep -i ${FILE_SEARCH_PATH})
jar cf ${JAR_NAME}.jar \$files

Here is a link to the full version of the code.