카테고리 보관물: 개발 도구

Terraform(테라폼) 여러 버전 동시에 사용하기

Terraform을 여러 프로젝트에서 사용하다보면 서로 다른 버전을 요구하는 경우가 있습니다. 버전에 따라서 다르게 동작할 가능성도 있어서 모든 프로젝트의 Terraform 버전을 최신버전으로 유지하는것도 어렵습니다.

Terraform에서 프로젝트마다 다른 버전을 사용하는 2가지 방법을 소개합니다.

첫번째 방법 : direnv 이용

direnv는 폴더마다 환경변수를 설정하는데 주로 사용하는 툴입니다. 이러한 특징을 이용하면 폴더마다 PATH를 다른곳을 바라보게 변경하여 폴더마다 다른버전의 Terraform을 사용할수 있습니다.

direnv 소개 및 기본 사용법은 direnv를 사용한 디렉토리(프로젝트) 별 개발환경 구축: 루비, 파이썬, 노드 개발 환경 구축 | 44bits.io를 참고하시기 바랍니다.

  1. Terraform 버전의 실행파일을 다운로드 받습니다.
  2. 현재 프로젝트 폴더 아래 .direnv/terraform/bin 폴더를 생성하고 1번에서 다운로드 받은 파일을 복사합니다.
  3. .envrc파일에 다음 내용을 추가합니다.
load_prefix $(direnv_layout_dir)/terraform
  1. direnv allow 명령어를 실행하여 환경변수를 새로 로딩합니다.

이제 which terraform 명령어를 실행하면 전역으로 설치된 Terraform 이 아닌 현재 폴더에 복사된 Terraform 버전의 실행파일을 바라보고 있음을 알수 있습니다.

두번째 방법 : brew switch 이용

이 방법은 Mac에서만 사용가능 합니다.

brew install terraform 명령어를 이용하면 항상 최신버전의 terraform이 설치됩니다.

현재 설치된 버전이 0.11.8 이고 구버전이 0.11.7 인경우 두 버전을 동시에 사용하는 방법입니다.

  1. /usr/local/Cellar/terraform 폴더로 이동
  2. 새로 추가하려는 버전의 이름으로 폴더 생성(ex 현재 최신버전은 0.11.8 이고 설치하고 싶은 구버전은 0.11.7인 경우 0.11.7 이름으로 폴더 생성)
  3. 생성한 폴더 아래 bin 폴더를 생성하고 해당 버전의 Terraform 실행파일을 홈페이지에서 다운로드후 복사

이제 brew switch terraform 0.11.7 명령어를 실행하면 0.11.7 버전으로 변경되고 brew switch terraform 0.11.8 명령어를 실행하면 0.11.8 버전으로 변경됩니다.

정리

두가지 방법 각자의 장단점이 있는데요. 저는 현재 두번째 방법을 사용하고 있습니다.

첫번째 방법의 경우 .direnv 폴더 아래 Terraform 실행파일과 .envrc 파일 모두 버전관리에 포함시킨다면 다른 컴퓨터에서도 바로 사용할 수 있는 장점이 있습니다. 다만 프로젝트에서 이런방식으로 사용할것을 서로 약속해야하고 버전 업그레이드할때 마다 실행파일을 복사해야 합니다.

두번째 방법의 경우 일반적으로 많이 사용하는 brew 를 이용해서 편하지만 여러개의 Terraform 프로젝트가 있다면 그때마다 switch 를 수동으로 입력해야 하고 Mac 에서만 가능하다는것이 단점입니다.

각각 장단점이 있는데 각자 상황에 맞는 방법을 선택하면 되겠습니다.

게시글의 아마존, iTunes 링크들을 통해 구매를 하시면 제휴(Affiliate) 프로그램에 의해 저에게 일정 금액이 적립될 수 있습니다. ^_____^

옛날 컴퓨터의 터미널 효과 앱 – Cool Retro Terminal

오래된 컴퓨터의 터미널 효과를 내는 앱이 있어서 소개합니다. Cool Retro Terminal 은 오래전 CRT 모니터를 사용하던 시절의 터미널로 보던 화면을 재현했습니다. IBM, Apple II 등 여러가지 화면을 지원하는데요. macOS, Linux 에서 설치 할 수 있습니다.

실행 화면은 다음과 같습니다 🙂 옛날 컴퓨터를 보는것 같아요

화면에 보이는 스타일은 몇개가 미리 정해져 있는데 다음과 같은 항목이 있습니다.

프로필은 내가 직접 만들 수 도 있는데요. 여러가지 옵션을 바꿀수 있습니다.

의외로 한글이 지원됩니다 ^^ HyperTerm 의 경우에는 한글 지원이 안되는데 Cool Retro Term은 잘됩니다.

안되는것도 있는데 몇가지 자주 사용하는 단축키가 안됩니다

  • vi에서 Ctrl + d, Ctrl + u 로 위아래로 이동하는것
  • Ctrl + l, Cmd + k 로 현재 화면의 내용을 clear 하는것

아마 이외에도 안되는 단축키들이 몇개 있을것 같아요.

개발하다가 지치고 기분전환이 필요할때 Cool Retro Terminal 한번 사용해보세요.

동작영상이 궁금하시면 제가 직접 찍은 유튜브 영상을 참고해주세요

게시글의 아마존, iTunes 링크들을 통해 구매를 하시면 제휴(Affiliate) 프로그램에 의해 저에게 일정 금액이 적립될 수 있습니다. ^_____^