使用Jenkinsfile脚本实现如下功能:在pipeline代码块外定义多组字典且每个字典中有多个kv;根据parameters为可选择参数的变量且可以选值为对应的字典名;根据选择的字典名将对应的keyvalue设置为全局变量;设置全局变量的步骤在pipeline代码块外面;
以下是实现该功能的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
}
}
在该脚本中,我们定义了两个字典dict1和dict2,分别包含了多个k/v。然后,在parameters块中定义了一个可选择参数SELECTED_DICT,其可选值为dict1和dict2。在Set global variables阶段中,我们使用script块来根据选择的字典名设置全局变量。具体来说,我们先根据SELECTED_DICT的值确定要使用哪个字典,然后使用env来设置全局变量。在这里,我们将字典中的所有key/value都设置为了全局变量,可根据实际需要进行调整
原文地址: https://www.cveoy.top/t/topic/fiuH 著作权归作者所有。请勿转载和采集!