Tfenv: Ändern Sie die tfenv-Version nicht global, wenn Sie ein Verzeichnis mit einer .terraform-version betreten

Erstellt am 11. Okt. 2019  ·  4Kommentare  ·  Quelle: tfutils/tfenv

Wusste nicht, wie ich es besser wieder aufnehmen kann x)

Wenn Sie die tfenv-Version auf 0.11.14 setzen und ein Verzeichnis mit einer .terraform-version eingeben, die auf 0.12.4 zeigt, ändert es die tfenv-Version global. Das bedeutet, dass, wenn Sie dieses Verzeichnis verlassen, die tfenv-Version nicht auf 0.11.14 zurückgesetzt wird, sondern die Version 0.12.4 beibehalten wird. Ich denke, es sollte das Standardverhalten sein.

PD: tfenv es ist sehr cool, danke für deine Arbeit!

Hilfreichster Kommentar

Auf einem Mac verursacht der Mechanismus von /usr/local/bin/terraform dieses Problem. tfenv sollte PATH oder ähnliches für die richtige Version von Terraform in der Umgebung setzen, anstatt Symlinks oder andere Dateien auf dem global agierenden FS zu erstellen.

Dies bedeutet, dass es mit diesem Tool nicht möglich ist, gleichzeitige Terraform-Aufrufe mit verschiedenen Versionen auszuführen.

(Natürlich wusstest du das sowieso, aber das ist mein Problem - was bedeutet, dass ich tfenv überhaupt nicht für CI verwenden kann)

Alle 4 Kommentare

Denken Sie, dass dies mit einem anderen Ticket oder so zusammenhängt, das sich mit dem Umgang mit Versionsdateien und dem Befehl use . Es steht auf der Liste.

Auf einem Mac verursacht der Mechanismus von /usr/local/bin/terraform dieses Problem. tfenv sollte PATH oder ähnliches für die richtige Version von Terraform in der Umgebung setzen, anstatt Symlinks oder andere Dateien auf dem global agierenden FS zu erstellen.

Dies bedeutet, dass es mit diesem Tool nicht möglich ist, gleichzeitige Terraform-Aufrufe mit verschiedenen Versionen auszuführen.

(Natürlich wusstest du das sowieso, aber das ist mein Problem - was bedeutet, dass ich tfenv überhaupt nicht für CI verwenden kann)

Dies in v2.0.0 nicht als 2.0.0 zu behandeln (Umgebungsmanipulation anstelle von Standardeinstellungen auf Systemebene), ist eine bedeutende Neufassung, die bereits stabil ist; werde es vielleicht nach v2.1.0 anschauen.

Zwei Lösungen für CI-Konfigurationen, bei denen eine parallele Ausführung erforderlich ist:

  1. Sie können .terraform-version-Dateien verwenden. Es ist kein use Befehl erforderlich, führen Sie einfach terraform mit einer .terraform-version-Datei aus, die für die CI-Ausführung eindeutig ist.
  2. Klonen Sie TFENV_ROOT innerhalb der CI-Ausführungsumgebung, da Sie so viele tfenv-Installationen haben können, wie Sie möchten, und diejenige, auf die Ihr Pfad zeigt, wird von anderen nicht beeinflusst. Die Gesamtgröße von tfenv ist unglaublich klein.

Siehe https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 für den Release Candidate 2.0.0. Überschreibt jetzt keine .terraform-version-Dateien.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

nitrocode picture nitrocode  ·  4Kommentare

sthristov picture sthristov  ·  5Kommentare

ibakayoko picture ibakayoko  ·  6Kommentare

kamatama41 picture kamatama41  ·  15Kommentare

z0rc picture z0rc  ·  5Kommentare