如何通过Terraform将gitlab CI / CD管道中的参数值传递给AWS中的user_data脚本?

我已经定义了用于设置EC2实例的Terraform配置。我使用user_data上传并运行一个脚本,该脚本需要某种类型的参数字符串-它可以作为环境变量,小文件或其他任何形式。我将其放入gitlab并设置了一个.gitlab-ci.yml文件,以使用手动阶段定义管道,并且在gitlab的settings -> CI/CD中定义了一个变量;这应该使手动步骤停止,并要求我为变量指定一个值。我知道,如果我在变量名前加上TF_VAR_,那么它对我的Terraform脚本将是可见的。

所以,我的问题是:我想使用user_data中的值-这可能吗?

fuchen333 回答:如何通过Terraform将gitlab CI / CD管道中的参数值传递给AWS中的user_data脚本?

我意识到,答案是模板文件:例如,您指定一个变量。 TF_VAR_BACKUP,在gitlab中的“设置”->“ CI / CD”->“变量”下。在terraform脚本中,这样可见:

variable "BACKUP" {}
...
resource "aws_instance" "bastion" {
  ami = "${var.image}"
  ...
  user_data = "${templatefile("${path.module}/bootstrap.tmpl",{BACKUP = ${var.BACKUP}})}"
  ...
}

本文链接:https://www.f2er.com/3160631.html

大家都在问