【问题标题】:jenkins Variables not showing up in shell commandjenkins 变量未显示在 shell 命令中
【发布时间】:2020-10-27 01:25:55
【问题描述】:

我试图在我的 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)”时,会打印出正确的字符串。关于为什么变量不出现的任何线索?任何帮助表示赞赏。

谢谢!

【问题讨论】:

    标签: jenkins groovy environment-variables multibranch-pipeline


    【解决方案1】:

    在你的 sh 脚本周围使用双引号但单引号。 More detail

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

    【讨论】:

      【解决方案2】:

      另一种选择是:

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

      【讨论】:

        猜你喜欢
        • 2017-04-06
        • 2018-01-01
        • 2015-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 1970-01-01
        • 2017-01-28
        相关资源
        最近更新 更多