DEV Community

Discussion on: What's your team's cross-platform setup?

Collapse
 
cjbrooks12 profile image
Casey Brooks

Vagrant is really nice. It provisions a full VM locally for you to work in so that your app is always running on the same platform. If you set up your local machine to have the same exact environment as your production environment, it will go a long way in helping you identify environment-specific issues before deployment.

I've found Vagrant to be particularly helpful if you have multiple environments it needs to run in, as you can just maintain a separate copy of the repo for each environment, and you can start/stop any single one as needed. In my case, it was actually the same environment, but different branches of the same app where the 'maintenance' branch was far enough behind the 'master' branch that the database had a different schema. I didn't want to keep clearing my local database and re-running all migrations, so I just keep the maintenance branch in a different vagrant machine so that they each have their own databases.