#jenkins #groovy #jenkins-pipeline #pipeline #jenkins-declarative-pipeline
Вопрос:
Я хотел бы получить имя файла из папки и установить его в глобальную переменную в конвейере Дженкинса., например; def PS, это было размещено в верхней части сценария декларативного конвейера.
Предположим, что имя файла Someting.zip (это может часто меняться) внутри папки (скажем, /dev/team/*.zip) Каким бы ни было имя., нам нужно получить имя файла в качестве переменной.
что нам нравится делать, так это получать имя файла и присваивать его глобальной переменной, а затем вызывать эту переменную на другом этапе.
def PS pipeline{ stages { stage (assigning variable) { steps { dir('dev/team/') { script { PS = "lt;we require the zip file present inside that /dev/team/ we tried using *.zip, and yet no luckgt;" } } } } stage (calling variable) { steps { script { echo $PS } } } } }
Ответ №1:
Предполагая, что ваш Дженкинс работает на компьютере с Linux, вы можете использовать команды оболочки для достижения этой цели. Следующий пример должен работать для вашего сценария:
pipeline{ agent any environment { PS="" } stages { stage ("assigning variable") { steps { dir('dev/team/') { script { PS = sh(returnStdout: true, script: 'find . -name "*.zip" | head -n 1') } } } } stage ("calling variable") { steps { sh "echo ${PS}" } } } }
Комментарии:
1. @Wolf, если мой ответ помог, пожалуйста, отметьте его как принятый.