Я довольно новичок в Дженкинсе, поэтому извиняюсь, если вопрос недостаточно подробный, но я клянусь, что сначала сделал свой поиск.Доступ к файлам рабочего пространства Jenkins в конвейере scrpit
У меня есть сценарий конвейера, который должен обрабатывать файлы, которые были извлечены из SCM (git) на предыдущем шаге. Одним из параметров, переданных конвейеру, является папка, в которой находятся все эти файлы. В этой папке могут быть подпапки, и мне тоже нужно их обработать.
Так, например, я могу передать параметр ./my-folder к трубопроводу и мою папку- может содержать следующее:
./my-folder/file1.json
./my-folder/file2.json
./my-folder/subfolder/file3.json
каталог my-folder
будет частью хранилища клонировали г во время фазы сборки.
Пока я развиваю свой Groovy скрипт локально я делал что-то похожее на это:
def f = new File(folder)
, но это не работает в Дженкинс данный код работает на хозяина, а папка находится на другой узел. После обширного исследования я теперь знаю, что есть два способа читать файлы в Дженкинсе.
- Использование
readFile
. Это было бы нормально, но я не нашел простой способ сканирования всей папки и подпапок для загрузки всех файлов. - Используйте
FilePath
. Это было бы моим предпочтительным способом, так как это больше OO, но я не нашел способ создать экземпляр этого класса. Все подходы, которые я видел при поиске в Интернете, относятся к переменнойbuild
, которая, я не совсем уверен, почему, не определена в скрипте. На самом деле я получаюgroovy.lang.MissingPropertyException: No such property: build for class: WorkflowScript
Надеюсь, вопрос имеет смысл, иначе я был бы рад добавить более подробную информацию.
Спасибо,
Нико