0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ローカルとCI/CD実行環境のterraformバージョンをtfenvで揃える

Posted at

やらかし

現在担当しているプロダクトではterraformでリソース管理をしており、CircleCIを用いてCI/CDを行っています。

ある日dev環境への反映ということもあり、CircleCIを使わずにローカルからterraform applyをした所、そのapply自体は通ったのですがその後のCircleCIからのterraform実行がエラーとなってしまいました。原因を確認した所、CircleCIで利用しているterrformバージョンより新しいバージョンでローカルから実行してしまったことが原因でした。terraformの仕様上、terraform apply時に更新されるtfstateファイルに定義されているterraformバージョンを下回るバージョンでのterraform実行はできないようです。

この時はCircleCI側のterraformバージョンを上げることで解決しました。対応策としてローカルからのterraform applyは気安く行わないことが上げられますが、ローカルとCircleCIのterraformバージョンを揃えといた方が良いかとも思います。そこでterraformバージョンを管理するtfenvが利用できます。

tfenvとは

tfenvは簡単にterraformのバージョンを切り替えられるパッケージマネージャです。詳しくは作成者の方の記事をご覧ください。

.terraform-versionファイル

tfenvの特徴として.terraform-versionファイルを置いておくとファイルに書かれたバージョンを利用します。こちらをリポジトリ上で管理することで、ローカルとCI/CD実行環境側にtfenvを導入することでterrafromバージョンを揃えることができます。

最後に

今回はtfenvを紹介しました。tfenvを使って開発環境と実行環境のバージョン差異を無くしましょう!

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?