以下是实现该功能的Jenkinsfile脚本:

def dict1 = [key1: "value1", key2: "value2", key3: "value3"]
def dict2 = [key4: "value4", key5: "value5", key6: "value6"]

pipeline {
    agent any

    parameters {
        choice(
            choices: ['dict1', 'dict2'],
            description: 'Select a dictionary',
            name: 'SELECTED_DICT'
        )
    }

    stages {
        stage('Set global variables') {
            steps {
                script {
                    def selectedDict = params.SELECTED_DICT
                    def dict = selectedDict == 'dict1' ? dict1 : dict2
                    env.KEY1 = dict.key1
                    env.KEY2 = dict.key2
                    env.KEY3 = dict.key3
                    env.KEY4 = dict.key4
                    env.KEY5 = dict.key5
                    env.KEY6 = dict.key6
                }
            }
        }
        // Other stages go here
    }
}

在该脚本中,我们定义了两个字典dict1dict2,分别包含了多个k/v。然后,在parameters块中定义了一个可选择参数SELECTED_DICT,其可选值为dict1dict2。在Set global variables阶段中,我们使用script块来根据选择的字典名设置全局变量。具体来说,我们先根据SELECTED_DICT的值确定要使用哪个字典,然后使用env来设置全局变量。在这里,我们将字典中的所有key/value都设置为了全局变量,可根据实际需要进行调整

使用Jenkinsfile脚本实现如下功能:在pipeline代码块外定义多组字典且每个字典中有多个kv;根据parameters为可选择参数的变量且可以选值为对应的字典名;根据选择的字典名将对应的keyvalue设置为全局变量;设置全局变量的步骤在pipeline代码块外面;

原文地址: https://www.cveoy.top/t/topic/fiuH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录