我已经配置了一个Jenkins作业,该作业创建了一个CloudFormation堆栈,其中包含创建RDS数据库实例,并从特定环境中该数据库的最新可用快照恢复数据库实例。
有3种不同的环境; Dev , Stg 和 Prd ,每个环境都有自己的数据库。
目前,当用户选择使用参数构建时,他要求从选择参数列表中选择其他内容Environment
和扩展参数列表中的RDS快照ID,该列表使用每个数据库的最新RDS快照ID(通过运行一些Groovy代码)进行填充( Dev ,< em> Stg , Prd )。
基本上,用户需要手动选择Environment
名称和RDS快照ID。
为了避免人为错误,例如为 RDS快照ID 选择 Prd 为Environment
和 Dev ,我&#39 ; d喜欢配置RDSSnapshotId
参数(由Groovy脚本填充的参数)由所选的Environment
有条件地设置。
意味着如果用户选择 Dev ,则RDSSnapshotId
参数将填充该环境中相应的RDS快照ID。
可以吗?
答案 0 :(得分:0)
创建一个运行Groovy脚本的新项目,该脚本根据下面的4.在您的CloudFormation作业文件夹中创建一个文件,然后运行您的CloudFormation作业。
选择 扩展选择参数 →◉多级参数类型
选择参数类型:多级单选 ▼
属性文件:<CloudFormation job's folder>/ChoiceParameters.txt
看起来像:
Environment→RDS Snapshot ID
Dev→Dev ID 1
Dev→Dev ID 2
Stg→Stg ID 1
Stg→Stg ID 2
Prd→Prd ID 1
Prd→Prd ID 2
Environment,RDS Snapshot ID
至少这是理论。不幸的是,它在我的Jenkins v2.73.3中没有用 扩展选择参数插件v0.76 atm(选择第一级项目后不显示第二级项目),但我知道它适用于以前的版本。
知道了:参数的名称当然不能包含空格,因为它变成了环境变量。
<强>更新强>
我尝试了Extended Choice Parameter plugin→版本0.44(2015年6月2日)→ Advanced Ex:中提到的示例,看起来很有希望。< / p>