本教程展示如何使用 Jenkinsfile 脚本在 pipeline 代码块外定义多个字典,并根据参数选择字典,将对应的 key/value 设置为全局变量。

def dict1 = [key1: 'value1', key2: 'value2', key3: 'value3']
def dict2 = [key1: 'value4', key2: 'value5', key3: 'value6']

pipeline {
    agent any
    
    parameters {
        choice(name: 'dictName', choices: ['dict1', 'dict2'], description: 'Select a dictionary')
    }
    
    stages {
        stage('Set global variables') {
            steps {
                script {
                    def selectedDict = params.dictName
                    if (selectedDict == 'dict1') {
                        env.key1 = dict1.key1
                        env.key2 = dict1.key2
                        env.key3 = dict1.key3
                    } else if (selectedDict == 'dict2') {
                        env.key1 = dict2.key1
                        env.key2 = dict2.key2
                        env.key3 = dict2.key3
                    } else {
                        error("Invalid dictionary selected")
                    }
                }
            }
        }
        
        stage('Print global variables') {
            steps {
                echo 'Selected dictionary: ${params.dictName}'
                echo 'key1: ${env.key1}'
                echo 'key2: ${env.key2}'
                echo 'key3: ${env.key3}'
            }
        }
    }
}

在这个示例脚本中,我们定义了两个字典dict1dict2,每个字典中有三个键值对。然后,在parameters代码块中定义了一个choice类型的参数dictName,可以选择值为dict1dict2的选项。在pipeline中,我们使用script代码块来根据选择的字典名设置全局变量key1key2key3的值。最后,在Print global variables阶段中,我们打印出了选择的字典名和相应的全局变量值。

当我们运行这个pipeline时,会看到Jenkins界面上出现一个下拉列表框,可以选择要使用的字典。选择一个字典后,pipeline会根据选择设置相应的全局变量值,并打印出来。如果选择了一个不存在的字典名,会出现错误。

Jenkinsfile 脚本:根据选择字典设置全局变量

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

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