Как мне передать переменную в Jenkins, которая содержит символы подстановки? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь собрать банку и включить определенные файлы:

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

Однако я создаю конвейер с переменными:

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

Это заставляет команду работать как:

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

, что приводит к тому, что система не находит никаких файлов, поскольку кавычки прерывают поиск.

1 Ответ

0 голосов
/ 24 мая 2019

Я нашел решение своей проблемы;хотя он не знает, как переводится Groovy-скрипт в Jenkins, это может помочь людям, пытающимся достичь чего-то подобного.

# 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

Вот ссылка на полную версию кода.

...