将环境变量传递给jenkins管道bash脚本
嘿,我正在尝试对环境变量GIT_BRANCH进行更改并解析/,我知道这可以通过如下方式使用cut实现:将环境变量传递给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 .
$(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