ローカルとCI/CD実行環境のterraformバージョンをtfenvで揃える
やらかし
現在担当しているプロダクトでは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を使って開発環境と実行環境のバージョン差異を無くしましょう!
Author And Source
この問題について(ローカルとCI/CD実行環境のterraformバージョンをtfenvで揃える), 我々は、より多くの情報をここで見つけました https://qiita.com/chanhama/items/0b62bb1e96ca2f0acc8f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .