将生成的参数传递给JEnkins中的锁定标签

inn6fuwd  于 12个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(96)

我无法通过脚本生成的参数到Jenkins锁标签,我生成这个值的基础上分支,因此需要通过自定义标签锁。如果相同的参数被定义为构建参数,则它接受。
通过脚本生成参数并尝试传递,它不接受。
例如

stage('determine testbed') {
    steps {
      script {
        env.DUT_LABEL_TEST = 'SRTD3Composability'
      }
    }
}
...
...
stage('TD3 Sanity') {
options {
  lock(label: "${env.DUT_LABEL_TEST"}, quantity: 1, \
  variable: 'TD3_SWITCH', resource: null)
}
}

error - java.lang.IllegalArgumentException:资源标签不存在:env.DUT_LABEL_TEST。

xj3cbfub

xj3cbfub1#

我认为这是一个语法和访问这个变量的问题:DUT_LABEL_TEST
试着这样做:

pipeline {
    agent any

    stages {
            stage('determine testbed') {
                 steps {
                     script {
                         DUT_LABEL_TEST = 'SRTD3Composability'
                     }
                 }
             }
             stage('TD3 Sanity') {
                 options {
                     lock(label: DUT_LABEL_TEST, quantity: 1, \
                     variable: 'TD3_SWITCH', resource: null)
             }
         }
     }
}

或尝试使用环境块

pipeline {
        agent any
        environment {
          DUT_LABEL_TEST = 'SRTD3Composability'
        }

        stages {
          stage('TD3 Sanity') {
             options {
               lock(label: "${env.DUT_LABEL_TES}", quantity: 1, \
               variable: 'TD3_SWITCH', resource: null)
                 }
             }
         }
    }

相关问题