Size: a a a

2020 January 22

A

Andor in terraform_ru
Andor
terraform show -json plan.zip тоже не содержит простого способа понять есть ли изменения
terraform show -json plan.zip | jq '.resource_changes[] | select(.change.actions[0] != "no-op")'
пока не уверен, что это то что мне надо, ща проверю
источник

A

Andor in terraform_ru
да, похоже на то
источник

A

Andor in terraform_ru
если пусто, значит план ничего не меняет
источник

MB

Marat Bediev in terraform_ru
а какой смысл в бинарном представлении плана в артифактах? с ними потом чтото делают?
источник

A

Andor in terraform_ru
terraform apply plan.zip
источник

MB

Marat Bediev in terraform_ru
а есть описание всего флоу? или сами придумывали?
источник

A

Andor in terraform_ru
я вон выше уже описал в паре сообщений
источник

MB

Marat Bediev in terraform_ru
я чутка не понял
план создается для MR, а потом применяется при мерже в master?
источник

A

Andor in terraform_ru
план создаётся всегда
источник

MB

Marat Bediev in terraform_ru
я немного не понимаю цели.. у нас есть 2 независимых пайплайна:
1) для MR - тут нужен plan чтобы видно было что меняется, но я не пойму зачем на этом этапе сохранять бинарную версию
2) для master - тут мы про plan из MR уже ничего не знаем, и просто делаем apply по текущему состоянию кодовой базы
источник

A

Andor in terraform_ru
Andor
можно было накопипастить джоб и на них понавешать rule, но моё чувство прекрасного с этим не согласилось
this
источник

MB

Marat Bediev in terraform_ru
понял, спасибо.
а ведь было бы интересно применять планы (только изменения) прилетевшие из MR
источник

A

Andor in terraform_ru
было бы, но в гитлабе обмен файлами между MR и мастером возможно только через кеш (или костылями через артефакты)
источник

A

Andor in terraform_ru
я решил попроще сделать
источник

A

Andor in terraform_ru
да, не максимально оптимально, но мне норм
источник

A

Andor in terraform_ru
Marat Bediev
я немного не понимаю цели.. у нас есть 2 независимых пайплайна:
1) для MR - тут нужен plan чтобы видно было что меняется, но я не пойму зачем на этом этапе сохранять бинарную версию
2) для master - тут мы про plan из MR уже ничего не знаем, и просто делаем apply по текущему состоянию кодовой базы
ну там ещё есть особенность что я файл плана трогаю чтобы данные из него вытащить, а если файл у меня уже есть, то чо б его и не использовать сразу
источник

DZ

Dmytro Zavalkin in terraform_ru
inqfen
В папке с проектом создаётся каталог .terraform, там и сведения о бэкенде и модули
Тогда хз, у меня с таким сетапом в комьюнити идее с тф плагином все работало
источник

DZ

Dmytro Zavalkin in terraform_ru
Andor
подскажите, есть ли простой и быстрый способ проверить, есть ли в сгенерированном плане изменения или там 0 to add, 0 to change, 0 to destroy?
tf plan | grep не вариант?
источник

A

Andor in terraform_ru
Dmytro Zavalkin
tf plan | grep не вариант?
вот это новая идея, спасибо!
источник

DZ

Dmytro Zavalkin in terraform_ru
Andor
даже хуже:
script:
   - terraform plan -lock-timeout=120s -input=false -out=$plan
   - terraform show -no-color $plan > $plan.txt
Добавить tee и результат grep в ещё один файл?
источник