Jenkins参数到Terraform变量

时间:2019-04-16 20:47:40

标签: jenkins jenkins-pipeline terraform

我正在尝试将Jenkins设置为迷你门户。用户开始进行参数化的构建,然后从下拉列表中选择一个区域。

我想念的(不知道是否可能)是如何将构建中的参数传递给terraform,以便它可以在该区域中构建基础结构?

UserA开始建立管道,选择“美国东部”,在该区域的地形下部署。

UserB开始构建管道,选择US East 2,terraform在该区域中部署。

我相信terraform jenkin插件可以处理此问题,但它只能作为自由样式项目。我正在尝试通过管道执行此操作。

这可能吗?

1 个答案:

答案 0 :(得分:0)

如果您特别关注AWS区域,则只需配置环境变量AWS_REGION,Terraform就会尊重它。

可以从命令行通过-var指定Terraform变量:

terraform plan -var region=eu-west-1

在Jenkins中,您可以通过params访问参数。管道中的结果(带有名为region的参数)类似于:

sh "terraform plan -var region=${params.region}"