嘿,我试图对环境变量GIT_BRANCH进行更改并解析/的右侧,我知道可以通过如下所示的剪切来实现:$(echo ${env.GIT_BRANCH} | cut -d \"/\" -f 2 )
事实是,无法使其在Jenkins管道中正常工作,错误:替换错误
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 {
// }
// }
}
}
如何正确生成BRANCH变量并将其传递给docker标签?
答案 0 :(得分:1)
这应该有效:
stage('Push') {
steps {
sh '''#!/bin/bash
#printenv
BRANCH=$(echo ${GIT_BRANCH} | cut -d "/" -f2)
echo "Branch: ${BRANCH}"
'''
}
}
注意:要查看shell块可用的所有环境变量,可以使用printenv
。