Tfenv: Ne modifiez pas globalement la version de tfenv lorsque vous entrez dans un répertoire avec une version .terraform

Créé le 11 oct. 2019  ·  4Commentaires  ·  Source: tfutils/tfenv

Je ne savais pas comment mieux le reprendre x)

Si vous définissez la version de tfenv sur 0.11.14 et entrez un répertoire avec une version .terraform qui pointe vers 0.12.4, cela modifie globalement la version de tfenv. Cela signifie que lorsque vous sortez de ce répertoire, la version tfenv ne revient pas à 0.11.14, elle conserve la version 0.12.4. Je pense qu'il devrait le faire comme comportement par défaut.

PD : tfenv c'est très cool, merci pour ton travail !

Commentaire le plus utile

Sur mac, le mécanisme de /usr/local/bin/terraform crée ce problème. tfenv devrait définir PATH ou similaire pour la bonne version de terraform dans l'environnement plutôt que de créer des liens symboliques ou d'autres fichiers sur le FS qui agit globalement.

Faire de telles choses signifie qu'il n'est pas possible d'exécuter des appels terraform simultanés avec différentes versions à l'aide de cet outil.

(Bien sûr, vous le saviez de toute façon, mais c'est mon problème - ce qui signifie que je ne peux pas du tout utiliser tfenv pour CI)

Tous les 4 commentaires

Pensez que cela est lié à un autre ticket traitant de la façon dont nous traitons les fichiers de version et la commande use . C'est sur la liste.

Sur mac, le mécanisme de /usr/local/bin/terraform crée ce problème. tfenv devrait définir PATH ou similaire pour la bonne version de terraform dans l'environnement plutôt que de créer des liens symboliques ou d'autres fichiers sur le FS qui agit globalement.

Faire de telles choses signifie qu'il n'est pas possible d'exécuter des appels terraform simultanés avec différentes versions à l'aide de cet outil.

(Bien sûr, vous le saviez de toute façon, mais c'est mon problème - ce qui signifie que je ne peux pas du tout utiliser tfenv pour CI)

Ne pas résoudre ce problème (manipulation de l'environnement au lieu de la valeur par défaut au niveau du système) dans la v2.0.0 car la 2.0.0 est une réécriture importante qui est déjà stable ; le regardera peut-être pour la v2.1.0.

Deux solutions pour les configurations CI où une exécution parallèle est requise :

  1. Vous pouvez utiliser des fichiers .terraform-version. Aucune commande use n'est requise, exécutez simplement terraform avec un fichier .terraform-version qui est unique à l'exécution du CI.
  2. Clonez le TFENV_ROOT dans l'environnement d'exécution CI car vous pouvez avoir autant d'installations tfenv que vous le souhaitez, et celle vers laquelle votre chemin pointe n'est pas affectée par les autres. La taille totale de tfenv est incroyablement petite.

Voir https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 pour la version candidate 2.0.0. Désormais, n'écrase pas les fichiers .terraform-version.

Cette page vous a été utile?
0 / 5 - 0 notes