Tfenv: No cambie la versión de tfenv globalmente cuando ingrese a un directorio con una versión .terraform

Creado en 11 oct. 2019  ·  4Comentarios  ·  Fuente: tfutils/tfenv

No sabía como resumir mejor x)

Si configura la versión de tfenv en 0.11.14 e ingresa a un directorio con una versión .terraform que apunta a 0.12.4, cambia la versión de tfenv globalmente. Eso significa que cuando sale de ese directorio, no revierte la versión tfenv a 0.11.14, mantiene la versión 0.12.4. Creo que debería hacerlo como comportamiento predeterminado.

PD: tfenv es genial, ¡gracias por tu trabajo!

Comentario más útil

En mac, el mecanismo de / usr / local / bin / terraform crea este problema. tfenv debería establecer PATH o similar para la versión correcta de terraform en el entorno en lugar de crear enlaces simbólicos u otros archivos en el FS que actúa globalmente.

Hacer estas cosas significa que no es posible ejecutar invocaciones de terraform concurrentes con diferentes versiones usando esta herramienta.

(Seguro que lo sabías de todos modos, pero ese es mi problema, lo que significa que no puedo usar tfenv en absoluto para CI)

Todos 4 comentarios

Piense que esto se relaciona con otro ticket que aborda cómo manejamos los archivos de versión y el comando use . Está en la lista.

En mac, el mecanismo de / usr / local / bin / terraform crea este problema. tfenv debería establecer PATH o similar para la versión correcta de terraform en el entorno en lugar de crear enlaces simbólicos u otros archivos en el FS que actúa globalmente.

Hacer estas cosas significa que no es posible ejecutar invocaciones de terraform concurrentes con diferentes versiones usando esta herramienta.

(Seguro que lo sabías de todos modos, pero ese es mi problema, lo que significa que no puedo usar tfenv en absoluto para CI)

No abordar esto (manipulación del entorno en lugar de la configuración predeterminada a nivel del sistema) en v2.0.0 como 2.0.0 es una reescritura significativa que ya es estable; quizás lo mire para la v2.1.0.

Dos soluciones para configuraciones de CI donde se requiere ejecución en paralelo:

  1. Puede utilizar archivos de versión .terraform. No se requiere el comando use , simplemente ejecute terraform con un archivo .terraform-version que sea exclusivo de la ejecución de CI.
  2. Clone TFENV_ROOT dentro del entorno de ejecución de CI, ya que puede tener tantas instalaciones tfenv como desee, y la que apunta su ruta no se ve afectada por otras. El tamaño total de tfenv es increíblemente pequeño.

Consulte https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 para conocer la versión candidata a la versión 2.0.0. Ahora no sobrescribe los archivos .terraform-version.

¿Fue útil esta página
0 / 5 - 0 calificaciones