LoginSignup
103

More than 5 years have passed since last update.

tfenvでTerraformのバージョン管理をする

Last updated at Posted at 2016-08-27

tfenvはTerraformのバージョン管理を簡単にするために作ったツールです。rbenvにインスパイアされてます。

現在複数の環境でTerraformを使ってて、それぞれ使っているバージョンが違う場合があるので、バージョンの切り替えを楽にしたい、間違って違うバージョンを使ってしまう事故を防ぎたい(tfstateの互換性が無かったりする場合があるので)という動機で作りました。

使い方(v0.5.x)

Install/Uninstall

GitHubから任意のパスにcloneしてtfenv/binにパスを通すだけ。
アンインストールはそのパスを消すだけです。

もしくはMacユーザーの方はHomebrewでもインストールできます

$ brew install tfenv

tfenv install/uninstall

指定したバージョンをインストール/アンインストールしますlatestで最新版をインストールします。 latest:^0.8という書き方もでき、この場合0.8系での最新がインストールされます。

$ tfenv install 0.8.0
$ tfenv install latest # latest version
$ tfenv install latest:^0.8 # latest version with Regex
$ tfenv uninstall 0.8.0

shasum コマンドと keybaseがインストールされていると、よりセキュアにダウンロード可能になります。 参考PR

tfenv use

利用するバージョンを切り替えます。こちらもlatest:^0.8という書き方ができます。

$ tfenv use 0.8.0
$ tfenv use latest:^0.8 # latest version with Regex

tfenv list

現在インストールしているバージョンを列挙します。

% tfenv list
0.9.0-beta2
0.8.8

tfenv list-remote

インストール可能なバージョンをリモートから取得して列挙します。

% tfenv list-remote
0.9.0-beta2
0.9.0-beta1
0.8.8
0.8.7
0.8.6
...

.terraform-version

rbenvの.ruby-versionと同じような機能で、プロジェクトルートに.terraform-versionというファイルを置いておくとそのファイルに書かれたバージョンを優先して利用します。また、引数なしのtfenv installでそのバージョンをインストール出来るようになります。

$ echo 0.7.3 > .terraform-version

$ terraform --version
Terraform v0.7.3

$ echo latest:^0.8 > .terraform-version

$ terraform --version
Terraform v0.8.8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
103