设置和读取变量时出现问题
Trouble setting and reading variable
在我的管道中我有这个:
steps {
script
{
def TAG_NAME = env.GIT_BRANCH.split("/")[1]
}
sshagent(credentials: ["<snip>"]) {
sh """
git tag -a "v.${TAG_NAME}.${env.BUILD_NUMBER}" -m "Add tag"
git push --tags
"""
}
}
但是当它运行时,我看到 TAG_NAME 是 'null.'
如何制作才能在sshagent中看到。
以不同方式跨阶段设置和获取变量的声明性管道示例。
def x
pipeline {
agent any;
stages {
stage('stage01') {
steps {
script {
x = 10
}
}
}
stage('stage02') {
steps {
sh "echo $x"
echo "${x}"
script {
println x
}
}
}
}
}
在你的例子中,它可能是
def TAG_NAME
pipeline {
agent any;
stages {
stage('stageName') {
steps {
script {
TAG_NAME = env.GIT_BRANCH.split("/")[1]
}
sshagent(credentials: ["<snip>"]) {
sh """
git tag -a "v.${TAG_NAME}.${env.BUILD_NUMBER}" -m "Add tag"
git push --tags
"""
}
}
}
}
}
在我的管道中我有这个:
steps {
script
{
def TAG_NAME = env.GIT_BRANCH.split("/")[1]
}
sshagent(credentials: ["<snip>"]) {
sh """
git tag -a "v.${TAG_NAME}.${env.BUILD_NUMBER}" -m "Add tag"
git push --tags
"""
}
}
但是当它运行时,我看到 TAG_NAME 是 'null.'
如何制作才能在sshagent中看到。
以不同方式跨阶段设置和获取变量的声明性管道示例。
def x
pipeline {
agent any;
stages {
stage('stage01') {
steps {
script {
x = 10
}
}
}
stage('stage02') {
steps {
sh "echo $x"
echo "${x}"
script {
println x
}
}
}
}
}
在你的例子中,它可能是
def TAG_NAME
pipeline {
agent any;
stages {
stage('stageName') {
steps {
script {
TAG_NAME = env.GIT_BRANCH.split("/")[1]
}
sshagent(credentials: ["<snip>"]) {
sh """
git tag -a "v.${TAG_NAME}.${env.BUILD_NUMBER}" -m "Add tag"
git push --tags
"""
}
}
}
}
}