Some languages have environment or version managers such as RVM for Ruby, NVM for Node, or even Rackspace's DVM for Docker.
It's highly recommended to lock the Terraform version, so everyone in the team uses the same version, and updates can be painlessly handled. To do that, I suggest using a Terraform container, so we'll use here the one I use myself:
sjourdan/terraform:<version> (from https://github.com/sjourdan/terraform-docker). But I understand replacing the simple
terraform command by something such as
docker run -it --rm -v `pwd`:/data sjourdan/terraform:0.7.3 can feel not so appealing. That's why we can use a common
Makefile for each project using Terraform.
Using a common entry point for manipulating the infrastructure ...