设置和读取变量时出现问题

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
            """
          }
       }
    }

  }
}