我想在Jenkinsfile中声明一个多维数组,该数组保存针对不同环境的部署数据。在PHP中,我将声明如下:
$deployData = [];
$deployData['test']['user'] = 'testuser';
$deployData['test']['host'] = 'testhost';
$deployData['test']['path'] = 'testpath';
$deployData['acceptance']['user'] = 'accuser';
$deployData['acceptance']['host'] = 'acchost';
$deployData['acceptance']['path'] = 'accpath';
$deployData['production']['user'] = 'produser';
$deployData['production']['host'] = 'prodhost';
$deployData['production']['path'] = 'prodpath';如何在Jenkinsfile (Groovy)中实现相同的结果?我尝试创建一个新的字符串数组:
def deployData = new String[3][3][1]
deployData['test']['user'] = 'testuser'
deployData['test']['host'] = 'testhost'
deployData['test']['path'] = 'testpath'
deployData['acceptance']['user'] = 'accuser'
deployData['acceptance']['host'] = 'acchost'
deployData['acceptance']['path'] = 'accpath'
deployData['production']['user'] = 'produser'
deployData['production']['host'] = 'prodhost'
deployData['production']['path'] = 'prodpath'在Jenkins中运行上述代码时,我得到了以下错误:
java.lang.IllegalArgumentException:参数类型不匹配
全跟踪:https://pastebin.com/ZEBRFuAW
有人知道如何创建像第一个PHP示例那样的多维数组(包括相同的可读性值分配)吗?
发布于 2017-04-24 09:27:34
那不是一个数组,那是一张地图。您可以在一行中创建一个这样的代码:
def deployData = [test: [user: 'testuser',
host: 'testhost',
path: 'testpath'],
acceptance: [user: 'accuser',
host: 'acchost',
path: 'accpath'],
production: [user: 'produser',
host: 'prodhost',
path: 'prodpath']]或者:
def deployData = [:]
deployData.test = [user: 'testuser', host: 'testhost', path: 'testpath']
deployData.acceptance = [user: 'accuser', host: 'acchost', path: 'accpath']
deployData.production = [user: 'produser', host: 'prodhost', path: 'prodpath']https://stackoverflow.com/questions/43583491
复制相似问题