问题描述
我想在我的 constants.groovy 中为不同类型的环境声明映射变量:
- 测试
- 预生产
- 生产
对于每一个,我都想拥有自己的 URL 和 Jenkins 用户凭证。 在管道本身将有一个选择参数,用户必须在其中选择环境类型。 构建开始后,管道将知道如何为用户选择拉取 URL 和 Cred。知道怎么做吗?首先,我认为 This 可以提供帮助
更新
我得到了问题的答案,但在上面添加了一个:
我怎么能在 map
里面做 map
在这里?假设用户选择了 TEST
,我希望它有 3 种类型的服务器:sql
、SSIS
、SSRS
。
这是正确的代码吗:
Map myMap = [
TEST:[sql_URL:'',SSIS_URL: '',SSRS_URL: ''],credential,PREPROD:[sql_URL:'',PROD:[sql_URL:'',credential
] as ConfigObject
def props = myMap.toProperties()
props [ env.environment_type ].sql_URL
props [ env.environment_type ].SSIS_URL
props [ env.environment_type ].credential
解决方法
不确定你想要什么,但你可以像这样在 Groovy 中声明一个地图文字:
Map myMap = [
TEST:[ SQL_URL:'',SSIS_URL: '',SSRS_URL: '',credential:'' ],'PRE-PROD':[ SQL_URL:'',PROD:[ SQL_URL:'',]
注意 PRE-PROD
周围的单引号