Tfenv: Não mude a versão tfenv globalmente ao entrar em um diretório com uma versão .terraform

Criado em 11 out. 2019  ·  4Comentários  ·  Fonte: tfutils/tfenv

Não sabia como resumir melhor x)

Se você definir a versão tfenv para 0.11.14 e entrar em um diretório com uma versão .terraform que aponta para 0.12.4, ele muda a versão tfenv globalmente. Isso significa que quando você sai desse diretório, ele não reverte a versão tfenv para 0.11.14, mas mantém a versão 0.12.4. Acho que deve ser o comportamento padrão.

PD: tfenv é muito legal, obrigado pelo seu trabalho!

Comentários muito úteis

No mac, o mecanismo de / usr / local / bin / terraform cria esse problema. O tfenv deve definir o PATH ou similar para a versão correta do terreno no ambiente ao invés de criar links simbólicos ou outros arquivos no FS que atua globalmente.

Fazer tais coisas significa que não é possível executar invocações de terraform simultâneas com versões diferentes usando esta ferramenta.

(Claro que você sabia disso de qualquer maneira, mas esse é o meu problema - o que significa que não posso usar tfenv para CI)

Todos 4 comentários

Pense que isso está vinculado a outro tíquete ou então abordando como lidamos com arquivos de versão e o comando use . Está na lista.

No mac, o mecanismo de / usr / local / bin / terraform cria esse problema. O tfenv deve definir o PATH ou similar para a versão correta do terreno no ambiente ao invés de criar links simbólicos ou outros arquivos no FS que atua globalmente.

Fazer tais coisas significa que não é possível executar invocações de terraform simultâneas com versões diferentes usando esta ferramenta.

(Claro que você sabia disso de qualquer maneira, mas esse é o meu problema - o que significa que não posso usar tfenv para CI)

Não tratar disso (manipulação do ambiente em vez do padrão no nível do sistema) na v2.0.0 como 2.0.0 é uma reescrita significativa que já é estável; talvez olhe para ele na v2.1.0.

Duas soluções para configurações de CI onde a execução paralela é necessária:

  1. Você pode usar arquivos de versão .terraform. Nenhum comando use é necessário, apenas execute terraform com um arquivo .terraform-version que é exclusivo para a execução do CI.
  2. Clone o TFENV_ROOT dentro do ambiente de execução de CI, pois você pode ter quantas instalações tfenv quiser, e aquele para o qual seu caminho aponta não é afetado por outros. o tamanho total do tfenv é incrivelmente pequeno.

Consulte https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 para o candidato à versão 2.0.0. Agora não sobrescreve arquivos de versão .terraform.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

larsLarski picture larsLarski  ·  3Comentários

nitrocode picture nitrocode  ·  4Comentários

sthristov picture sthristov  ·  5Comentários

pradeep2987 picture pradeep2987  ·  7Comentários

Constantin07 picture Constantin07  ·  8Comentários