Не находится файл, загружаемый через файловый параметр пайплайна Jenkins
Пытаюсь загрузить json-файл через файловый параметр пайплайна Jenkins. Однако в воркспейсе в итоге пусто. Пытался в поле "Местоположение файла" файлового параметра писать нечто вроде $WORKSPACE/myFile.json - безрезультатно (при попытке обратиться по этому пути получаю NoSuchFileException). Знаю, что в Jenkins имеется ряд проблем, связанных с работой файлового параметра - но, возможно, есть какие-то пути решения этой проблемы? Я в Jenkins новичок, поэтому буду благодарен за любой совет.
Ответы (1 шт):
Это проблема как я понимаю так и не была решения? Поиск с корня также не дает результатов:
find / -type f -name "${UPLOAD_FILE}" 2> /dev/null
Что особенно странно, имя файла передается как переменная окружения, а не параметра...
Ответ - использовать плагин file-parameters
Вот пример:
pipeline {
agent any
parameters {
base64File 'UPLOAD_FILE'
}
stages {
stage('Читаем содержимое файла') {
steps {
// Переменная хранит содержимое файла в формате base64
// echo UPLOAD_FILE
// Декодируем base64
withFileParameter('UPLOAD_FILE') {
sh """
echo "$UPLOAD_FILE" # выводим путь к временному файлу с содержимым переданного файла
cat "$UPLOAD_FILE" # читаем содержимое файла
"""
}
}
}
}
}