【发布时间】:2017-04-24 08:44:43
【问题描述】:
我想在我的 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 示例那样创建多维数组(包括相同的值分配以提高可读性)?
【问题讨论】:
标签: arrays jenkins multidimensional-array groovy