Tfenv: Не меняйте версию tfenv глобально при входе в каталог с версией .terraform

Созданный на 11 окт. 2019  ·  4Комментарии  ·  Источник: tfutils/tfenv

Не знал, как лучше возобновить х)

Если вы установите версию tfenv на 0.11.14 и войдете в каталог с версией .terraform, которая указывает на 0.12.4, версия tfenv изменится глобально. Это означает, что когда вы выходите за пределы этого каталога, он не возвращает версию tfenv к 0.11.14, а поддерживает версию 0.12.4. Я думаю, это должно быть по умолчанию.

PD: tfenv это очень круто, спасибо за работу!

Самый полезный комментарий

На Mac эту проблему создает механизм / usr / local / bin / terraform. tfenv должен устанавливать PATH или аналогичный для правильной версии terraform в среде, а не создавать символические ссылки или другие файлы в FS, которая действует глобально.

Это означает, что с помощью этого инструмента невозможно запускать одновременные вызовы terraform с разными версиями.

(Конечно, вы все равно это знали, но это моя проблема - я вообще не могу использовать tfenv для CI)

Все 4 Комментарий

Думаю, это связано с другим билетом или около того, касающимся того, как мы работаем с файлами версий и командой use . Это в списке.

На Mac эту проблему создает механизм / usr / local / bin / terraform. tfenv должен устанавливать PATH или аналогичный для правильной версии terraform в среде, а не создавать символические ссылки или другие файлы в FS, которая действует глобально.

Это означает, что с помощью этого инструмента невозможно запускать одновременные вызовы terraform с разными версиями.

(Конечно, вы все равно это знали, но это моя проблема - я вообще не могу использовать tfenv для CI)

Отсутствие решения этой проблемы (манипуляции со средой вместо значения по умолчанию на уровне системы) в версии 2.0.0, поскольку 2.0.0 является значительным переписыванием, которое уже является стабильным; возможно посмотрю на это для v2.1.0.

Два решения для конфигураций CI, где требуется параллельное выполнение:

  1. Вы можете использовать файлы .terraform-version. Команды use не требуется, просто выполните terraform с файлом .terraform-version, уникальным для выполнения CI.
  2. Клонируйте TFENV_ROOT в среде выполнения CI, так как у вас может быть столько установок tfenv, сколько вам нужно, и тот, на который указывает ваш путь, не зависит от других. Общий размер tfenv невероятно мал.

См. Https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 для версии-кандидата 2.0.0. Теперь не перезаписывает файлы .terraform-version.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги