.terraform-version
ํ์ผ์ ์ฌ์ฉํ์ฌ ํน์ ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ์ ์ฌ์ฉํ Terraform ๋ฒ์ ์ ์ ํํฉ๋๋ค. ๋๋ ์ ๊ธฐ์ ์ผ๋ก .terraform-version
์ ๋ด์ฉ์ ์ ๊ท์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ tfenv install
๋ฅผ ์คํํ์ฌ ์์คํ
์ ์ ์ ํ Terraform ๋ฒ์ ์ด ์์ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ๊ฒ ํ๋ฉด tfenv๊ฐ ๋ด .terraform-version
ํ์ผ์ ์ค์น๋ ์ ํํ ๋ฒ์ ๋ฒํธ๋ก ๋ฎ์ด์๋๋ค.
$ echo "latest:^0.12" > .terraform-version
$ tfenv install
....
$ terraform version
Terraform v0.12.6
$ cat .terraform-version
0.12.6
ํน๋ณํ ๋ณ๊ฒฝํ์ง ์๋ ํ .terraform-version
์ ๋ด์ฉ์ด ๊ทธ๋๋ก ์ ์ง๋๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ด๊ฒ์ ์ฐ๋ ค๋ฉ๋๋ค. ์กฐ์ํ ์กฐ์ฌํ ๊ฒ
tfenv-use
๊ฐ ๋ฒ์ ํ์ผ์ ๋ฎ์ด์ฐ๊ธฐ ๋๋ฌธ์ tfenv-install
๋์ tfenv-use
๋ฅผ ํธ์ถํ ๊ฒ ๊ฐ์ต๋๋ค.
์ ์ญ ๋ฒ์ ํ์ผ๋ง ์
๋ฐ์ดํธํด์ผ ํ๊ณ ์ ์ญ ๋ฒ์ ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์
๋ฐ์ดํธํด์ผ ํ๊ธฐ ๋๋ฌธ์ tfenv-use
๋ํ ํธ์ถ์ ์ค์น์ ํ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
@e-nomem ์ ๋ง ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด๊ฐ tfenv๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ํ ๋ tfenv-install
๋์ tfenv-use
๋ฅผ ํธ์ถํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. Terraform ๋ฒ์ ์ ์ค์นํ๋ค๊ณ ํด์ ์ง๊ธ ๋น์ฅ ์ฌ์ฉํ๊ฑฐ๋ ๊ธ๋ก๋ฒ ๊ธฐ๋ณธ ๋ฒ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ์ ์๋๋๋ค.
๊ทธ๋ฌ๋ ์ด ๋์์ ๊ตฌ์ฑํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด:
## Default, use version file
$ tfenv install
(just installs version from file, no tfenv-use required)
$ tfenv install 0.12.6
(just installs, but when detecting an interactive shell, it asks what you want)
Do you want to set Terraform 0.12.6 as your global default (y/n)? y
Updating global version in /Users/benny/.terraform-version... done
$ tfenv install 0.12.6 --global
(installs and sets the default)
์ ๋ณ์๋ผ๋ ์ ์ด๋ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ํด์ ํ๋ ๋ฐฉ๋ฒ์ ํ์คํ ํ๊ณ ์ถ์ต๋๋ค. ์ฐ๋ฆฌ๋ tf 0.11์์ 0.12๋ก์ ๋ณต์กํ ์
๊ทธ๋ ์ด๋๋ฅผ ๋กค์์ํ๊ณ ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์ต์ 0.12๋ฅผ ์ถ์ ํ๊ณ ์ถ์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ์ธ๋ถ CI์์ tfenv install
๋ฅผ ์คํํ ๋๋ง๋ค .terraform-version์ด ํน์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ๋ฉ๋๋ค. ์์์์ ๊ฐ์ด. ์ฌ๋๋ค์ด ์ค์ ๋ก ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด tfenv install
์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๊นจ๋จ๋ฆฌ์ง ์์๋ ๊ด์ฐฎ์ต๋๋ค. ํ์ง๋ง TFENV_NOOVERWRITE์ ๊ฐ์ ๊ฒ์ ์ค์ ํ์ฌ ์ด ๊ธฐ๋ฅ์ ๋ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ผ๋ก ๋ง์กฑํ ๊ฒ์
๋๋ค.
ํ๋ก์ ํธ๋ณ .terraform-version
ํ์ผ์ ๋ฎ์ด์ฐ๋ฉด ํ์ผ ์ฌ์ฉ์ด ๊ฑฐ์ ๋ฌด์ฉ์ง๋ฌผ์ด ๋๊ณ ๋๊ตฐ๊ฐ ์๋์น ์๊ฒ ์์ค ์ ์ด์ ๋ณ๊ฒฝ์ ์ปค๋ฐํ ์ํ์ด ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋ ํ์ผ์ ํ๋ก์ ํธ์ ์ฌ์ฉ๋ ๋ฒ์ ์ _์์ _ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ฏ๋ก tfenv
๋ช
๋ น์ผ๋ก ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ค์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
tfenv ์ฌ์ฉ์ด .terraform-version ํ์ผ์ ์์ ํด์๋ ์ ๋๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
์ด ์์
์ ์ค์งํ๋ฉด tfenv๋ฅผ ๋ฐํํ๋ ์ฌ์ฉ์๋ฅผ ํผ๋์ค๋ฝ๊ฒ ํ ์ ์์ผ๋ฉฐ ๋ฒ์ ํ์ผ์ด ์๊ธฐ ๋๋ฌธ์ ์์ฒญํ ๋ฒ์ ์ ์ป์ง ๋ชปํ ์ ์์ต๋๋ค.
๋๋ ๊ทธ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ค๋ ์๊ฐ์ ํ์ํ์ง๋ง ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ์ค์งํ๋ ๊ฒ์ด ํ์คํ ์ณ์ ์ผ์
๋๋ค.
๋๋ ๋น์ ์ด ์ด๋ค ์ข
๋ฅ์ ์๊ฐ์ ์ฐพ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ ์๊ฐ์๋ tfenv
๋ ์กด์ฌํ์ง ์๋๋ผ๋ ๊ทธ ํ์ผ์ _์ ๋_ ์ฐ์ง ์์์ผ ํฉ๋๋ค. ํด๋น ํ์ผ์ _์ฝ๊ธฐ ์ ์ฉ_์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์ํ๋ ๊ฒฝ์ฐ ํด๋น ํ์ผ์ ๋ง๋ค๊ณ ํ๋ก์ ํธ์ ๊ณ ์ ๋ฒ์ ์ Terraform์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์์ ์ ์ ์ฅ์์ ์ปค๋ฐํ๋ ๊ฒ์ tfenv
์ _users_์ ๋ฌ๋ ค ์์ต๋๋ค.
tfenv install
๋ฐ tfenv use
๋ช
๋ น์ ๋ช
๋ น์ค์ ๋ฒ์ ์ด ๋ช
์์ ์ผ๋ก ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ .terraform-version
ํ์ผ์ ์ฐพ์์ผ ํฉ๋๋ค. ํ์ผ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ช
๋ น์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ช
๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ ๋ฒ์ ์ ๊ฒฐ์ ํด์ผ ํ๋ฉฐ, ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ๋ช
๋ น์ด ์คํจํ์ฌ ์ฌ์ฉ์๊ฐ ๋ช
๋ น์ค ๋๋ .terraform-version
๋ด์์ ๋ฒ์ ์ ์ง์ ํด์ผ ํจ์ ๋ํ๋
๋๋ค. .terraform-version
ํ์ผ์ ๋ฌด์๋์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@e-nomem ์ ๋ง ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด๊ฐ tfenv๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ํ ๋
tfenv-install
๋์tfenv-use
๋ฅผ ํธ์ถํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. Terraform ๋ฒ์ ์ ์ค์นํ๋ค๊ณ ํด์ ์ง๊ธ ๋น์ฅ ์ฌ์ฉํ๊ฑฐ๋ ๊ธ๋ก๋ฒ ๊ธฐ๋ณธ ๋ฒ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ์ ์๋๋๋ค.๊ทธ๋ฌ๋ ์ด ๋์์ ๊ตฌ์ฑํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด: