tenv

더쿠·2025년 4월 26일

tenv 는 하나의 시스템에서 여러 버전의 Terrafom, OpenTofu, Terragrunt, Atomos 을 설치하고 쉽게 전환할 수 있도록 도와주는 도구입니다.

🔗 https://github.com/tofuutils/tenv

관리하는 모든 프로젝트가 Terraform 만을 사용한다면, tenv 보단 tfenv 를 사용하는 것을 권장합니다.

  • tfenv는 Terraform 버전 관리만을 위한 도구로 명확한 목적성을 가지고 있습니다.
  • Terraform 버전 관리만 필요한 상황인데, 더 무겁고 불필요한 기능이 포함되어 있는 tenv를 사용하는 것 보단 단순하고 더 가벼운 tfenv를 사용하는 것이 적합합니다.
  • 하지만 가까운 시일내에 OpenTofu, Terragrunt, Atomos를 사용한 프로젝트가 계획 중이라면 tenv를 사용하는 것을 고려할 수 있습니다.


tenv 설치

1️⃣ Homebrew를 사용하여 cosign 패키지를 설치합니다.

consign 패키지는 tenv 를 사용하여 Terraform, Terragrunt 등을 설치할 때, Checksum 파일 자체의 진위성을 검증(서명 검증)하는 역할을합니다.

brew install cosign

2️⃣ Homebrew를 사용하여 tfev 패키지를 설치합니다.

brew install tenv

3️⃣ 정상적으로 설치가 완료되었는지, 설치된 tfenv 패키지의 버전을 확인합니다.

tenv version

[출력]

tenv version 4.4.0


특정 Terraform 버전 설치

1️⃣ tenv 명령어를 입력합니다.

tenv

[출력]

2️⃣ 방향키를 사용하여 [ ] terraform 으로 이동 후 Enter 버튼을 누릅니다.

  Which tool do you want to manage ?                                 
                                                                     
[ ] tofu                                                             
[ ] terraform                                                        
[ ] terragrunt                                                       
[ ] atmos                                                            
                 

[출력]

3️⃣ 한 번에 원하는 버전을 여러 개 설치하고 제거하려고 한다면 방향키를 사용하여 이동하여 Space 버튼을 누릅니다.

만약 단일 버전만 설치하고 제거하려는 경우, 방향키를 사용하여 해당 버전으로 이동 후 Enter 버튼을 누르면 설치 및 제거됩니다.

Fetching all releases information from https://releases.hashicorp.com/terraform/index.json

  Which Terraform version(s) do you want to install(I) or uninstall(U) ? (X mark already installed)  
                                                                                                     
[ ] 1.12.0-beta3                                                                                     
[ ] 1.12.0-beta2                                                                                     
[ ] 1.12.0-beta1                                                                                     
[ ] 1.12.0-alpha20250319                                                                             
[ ] 1.12.0-alpha20250312                                                                             
[ ] 1.12.0-alpha20250213                                                                             
[ ] 1.11.4                                                                                           
[ ] 1.11.3       

[출력]

4️⃣ Space 버튼을 누른 버전에 대해서는 [I] 가 된 것을 확인할 수 있습니다. 정상적으로 선택되었다면, Enter 버튼을 눌러 설치를 진행합니다.

Fetching all releases information from https://releases.hashicorp.com/terraform/index.json

  Which Terraform version(s) do you want to install(I) or uninstall(U) ? (X mark already installed)  
                                                                                                     
[ ] 1.12.0-beta3                                                                                     
[ ] 1.12.0-beta2                                                                                     
[ ] 1.12.0-beta1                                                                                     
[ ] 1.12.0-alpha20250319                                                                             
[ ] 1.12.0-alpha20250312                                                                             
[ ] 1.12.0-alpha20250213                                                                             
[I] 1.11.4                                                                                           
[I] 1.11.3       


Terraform 버전 변경

1️⃣ 현재 설치된 Terraform 버전을 확인합니다.

tenv tf list

2️⃣ 필요한 Terraform 버전으로 변경합니다.

tenv tf use 1.11.4

3️⃣ 정상적으로 Version이 변경되었는지 확인합니다.

terraform version

[출력]

Terraform v1.11.4
profile
궁금한게 많은 사람

0개의 댓글