Как передать значение параметра из конвейера Gitlab CI / CD через Terraform в сценарий user_data в AWS?

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

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

Было бы полезно, если бы вы могли показать свой код Terraform и, в идеале, файл .gitlab-ci.yml. Если вы можете сделать это как минимальный воспроизводимый пример, то это тоже будет здорово и убрать все ненужное.   —  person j4nd3r53n    schedule 05.11.2019

См. также:  Xcode: 'ModuleNotFoundError: нет модуля с именем' psycopg2 '
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. j4nd3r53n

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: