Я использую многоотраслевой конвейер в Jenkins, и мне нужно динамически установить имя каталога настраиваемой рабочей области на основе имени создаваемой ветки. Когда я определяю настраиваемую рабочую область для конвейера, я пытаюсь получить доступ к переменной среды, содержащей имя ветки, следующим образом:
pipeline {
agent {
node {
label 'master'
customWorkspace 'some/path/${BRANCH_NAME}'
Однако в течение git init
рабочего пространства интерполяция строк не выполняется. Вместо того, чтобы вставлять любое имя ветки в строку, он пытается установить имя рабочей области как '${BRANCH_NAME}'
без интерполяции переменной имени ветки. Если я интерполирую переменную за пределами блока agent
(например, если я интерполирую переменную в блоке stage
), интерполяция строки происходит отлично, и я могу получить имя ветки от Jenkins.
В чем может быть причина этой проблемы? Есть ли другие способы установить настраиваемое рабочее пространство на основе имени ветки в многоотраслевом конвейере?
Спасибо!