首页 > 解决方案 > jenkins 变量未显示在 shell 命令中

问题描述

我试图在我的 jenkinsfile 中执行一个 shell 命令,但是我设置的变量并没有出现在我试图执行的 shell 命令中。这是我的代码:

def branchName = BRANCH_NAME
def newBranchName = branch name.split('/')[1]

pipeline {
    agent any
    stages {
        stage ('build') {
            steps {
                sh 'docker build -t 771225398400.dkr.ecr.us-west-2.amazonaws.com/nics/em-api:$newBranchName .'
            }
        }
    }
}

这输出

docker build -t 771225398400.dkr.ecr.us-west-2.amazonaws.com/nics/em-api: .

但是,当我简单地运行“println($newBranchName)”时,会打印正确的字符串。关于为什么变量不出现的任何线索?任何帮助表示赞赏。

谢谢!

标签: jenkinsgroovyenvironment-variablesmultibranch-pipeline

解决方案


另一种选择是:

    sh '''
    docker build -t 771225398400.dkr.ecr.us-west-2.amazonaws.com/nics/em-api:$newBranchName .
    '''

推荐阅读