我的用例需要完整的建议工作流程

问题描述 投票:-2回答:1

实际上,我们从那里开始使用webapp,我们通过以下方式将变量传递到terraform:>

如下所示

terrain apply -input = false -auto-approve -var ami =“%ami%” -var region =“%region%” -var icount =“%count%” -var type =“%instance_type%”

实际上,这里的问题是后端不支持我需要通过应用程序传递值的变量。]​​>

需要一些替代方法来解决此问题

我正在使用詹金斯参数化作业来传递值。

有人可以为我解释最适合我的工作流程。

我的意思是文件结构,ci / cd集成等等。

提前感谢。

代码如下:

My main.tf like below

地形

{

后端“ s3”

{

bucket =“ terraform-007”

键=“键”

region =“ ap-south-1”

profile =“ venu”

}

}提供者“ aws”

{

profile =“ var.awsprofile”

region =“ {var.aws_region}”

}

资源“ aws_instance”“ VM” {

count = var.icount

ami = var.ami

instance_type = var.type

标签= {

环境=“ $ {var.env_indicator}”]

}

}

像vars.tf

变量“ aws_profile”{

默认=“默认”

description =“ AWS配置文件名称,在〜/ .aws / credentials中设置”

}

变量“ aws_region”{

类型=“字符串”

默认=“ ap-south-1”

description =“要在其中创建资源的AWS区域”

}

变量“ env_indicator”{

类型=“字符串”

默认=“开发”

description =“我们处于什么环境?”

}

变量“ icount”

{

默认= 1

}

变量“ ami”

{

默认=” ami-54d2a63b”

}

变量“存储桶”

{

默认=“ terraform-002”

}

变量“类型”

{

default =” t2.micro”

}

output.tf像:

输出“ ec2_public_ip”

{

值= [“ $ {aws_instance.VM。*。public_ip}”]

}

输出“ ec2_private_ip”

{

值= [“ $ {aws_instance.VM。*。private_ip}”]

}

实际上,我们从那里开始使用webapp,我们通过将变量传递到terraform来,如下所示terraform apply -input = false -auto-approve -var ami =“%ami%” -var region =“%region%” -var icount = “%count%” -...

continuous-integration jenkins-pipeline terraform terraform-provider-aws
1个回答
0
投票

只需在执行terraform之前创建后端文件,然后将其应用到您的jenkins文件中

例如_.backend.tf

© www.soinside.com 2019 - 2024. All rights reserved.