【发布时间】:2020-10-21 06:24:46
【问题描述】:
我在 Jenkins 中使用多分支管道,我需要根据正在构建的分支名称动态设置自定义工作区目录的名称。当我为管道定义自定义工作区时,我尝试访问包含分支名称的环境变量,如下所示:
pipeline {
agent {
node {
label 'master'
customWorkspace 'some/path/${BRANCH_NAME}'
但是,在工作区的git init 期间,不会发生字符串插值。它不会在字符串中插入任何分支名称,而是尝试将工作空间名称设置为'${BRANCH_NAME}',而不插入分支名称变量。如果我在 agent 块之外插入变量(例如,如果我在 stage 块中插入变量),字符串插值会非常好,我可以从 Jenkins 收到分支的名称。
这个问题的原因可能是什么?还有其他方法可以根据多分支管道中的分支名称设置自定义工作区吗?
谢谢!
【问题讨论】:
标签: jenkins continuous-integration jenkins-pipeline multibranch-pipeline