0

所以,我可以在这样的步骤中捕获一个变量:

stage('blah') {
  script {
    INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date +%Y%m%d).yml')
  }
}

这有效。除了我需要这个变量在整个 Jenkinsfile 的范围内,对于所有阶段,而不仅仅是这个。但我似乎无法在舞台之外使用 sh() 。有任何想法吗?

4

1 回答 1

2

您可以在 Jenkinsfile 的顶部定义一个变量,然后您可以在整个 Jenkinsfile 中访问该变量。

def INVENTORY_FILE

pipeline {

    stages {

        stage('blah') {
          script {
            INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date +%Y%m%d).yml').trim()
          }
        }

    }
}
于 2019-03-12T02:40:45.857 回答