tfenvでプロジェクトごとにterraformのバージョンを固定する

terraform

terraformを使用してプロジェクトを作成していると、バージョンを固定していたり、複数バージョンを使い分けたりすることがあると思います。

terraformのバージョンを使い分けることが出来るtfenvを紹介します。

tfenvとは

tfenvとはTerraformのバージョンをプロジェクトごとに切り替えたりすることが出来るツールです。
これを利用すると

  • Aプロジェクト → v12.1
  • Bプロジェクト → v15.1
  • Cプロジェクト → v1.0.1

のように柔軟に使用するTerraformバージョンを切り替えることが可能となります。

tfenvのインストール

以下を実施することでインストール可能です。

Mac

brew install tfenv

手動インストール

git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile # bash利用の場合

anyenv経由

anyenv install tfenv
exec $SHELL -l

tfenvの使い方

利用可能なTerraformのバージョンを以下のコマンドで確認可能です。

tfenv list-remote

これをもとにまずは、一つインストールしてみましょう。

tfenv install latest # 最新版のインストール
tfenv install 1.0.1 # v1.0.1のインストール

インストールしたバージョンを利用するにはuseコマンドを使用します。

tfenv use 1.0.1

インストール済みのバージョンはlistコマンドで確認できます。

tfenv list

# * 1.0.3 (set by /Users/XXXX/.anyenv/envs/tfenv/version)
#   1.0.1

useコマンドを利用することで、使用するTerraformバージョンを任意のバージョンで利用することができます。

プロジェクトごとに自動でバージョン切り替え

プロジェクトのルートに.terraform-versionを配置することで、tfenvが自動的にバージョンを切り替えます。

echo 1.0.1 > .terraform-version

コメント