Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将环境变量传递给jenkins管道bash脚本_Bash_Jenkins Pipeline - Fatal编程技术网

将环境变量传递给jenkins管道bash脚本

将环境变量传递给jenkins管道bash脚本,bash,jenkins-pipeline,Bash,Jenkins Pipeline,嘿,我正在尝试对环境变量GIT_BRANCH进行更改并解析/,我知道这可以通过如下方式使用cut实现:$(echo${env.GIT_BRANCH}cut-d\“/\”-f2) 问题是,不能让它在詹金斯管道中工作,错误:糟糕的替代 pipeline { agent any stages { stage('Build') { steps { sh "docker build -t jpq/jpq:test .

嘿,我正在尝试对环境变量GIT_BRANCH进行更改并解析/,我知道这可以通过如下方式使用cut实现:
$(echo${env.GIT_BRANCH}cut-d\“/\”-f2)

问题是,不能让它在詹金斯管道中工作,错误:糟糕的替代

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh "docker build -t jpq/jpq:test ."
            }
        }
        stage('Test') {
            steps {
                sh  "docker run jpq/jpq:test python3 tests.py"
            }
        }
         stage('Push') {
             steps {
                sh '''#!/bin/bash
                  BRANCH=\$(echo \${env.GIT_BRANCH} | cut -d \"/\" -f 2 )
                  echo ${BRANCH}
                  docker tag jpq/jpq:test jpq/jpq:${BRANCH}
                  docker push jpq/jpq:test
                    '''
             }
         }
        // stage('Deploy') {
        //     steps {
        //     }
        // }
    }
}

如何正确生成分支变量并将其传递给docker标记?

这应该可以:

stage('Push') {
     steps {
        sh '''#!/bin/bash
            #printenv
            BRANCH=$(echo ${GIT_BRANCH} | cut -d "/" -f2)
            echo "Branch: ${BRANCH}"
        '''
    }
}
注意:要查看shell块可用的所有环境变量,可以使用
printenv