Как передать значение параметра из конвейера CI / CD gitlab через Terraform в сценарий user_data в AWS? - PullRequest
0 голосов
/ 05 ноября 2019

Я определил конфигурацию terraform, которая устанавливает экземпляр EC2. Я использую user_data для загрузки и запуска скрипта, для которого нужна строка параметра какого-либо типа - это может быть переменная окружения, небольшой файл или что-то еще. Я поместил это в gitlab и настроил файл .gitlab-ci.yml, чтобы определить конвейер с ручным этапом, и я определил переменную в gitlab settings -> CI/CD;это должно остановить шаг вручную и попросить указать значение для переменной. Я знаю, что если я добавлю имя переменной к TF_VAR_, то это будет видно моим сценариям terraform.

Итак, мой вопрос таков: я хочу использовать значение в моем user_data- возможно ли это?

1 Ответ

0 голосов
/ 05 ноября 2019

Я понял, что ответом являются файлы шаблонов: вы указываете переменную, например. 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}})}"
  ...
}

...