Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sounds like he should try Vagrant.


I'm trying to understand the viability of the use case for Vagrant. It seems to me that if the developer does not do "vagrant destroy" at the end of the day and chooses to customize their VM; then it will dialy diverge from the specified starting point of the Vagrantfile. If on the other hand, the developer does "vagrant up", code some stuff, check it in, do "vagrant destroy" and follows this use case daily then I'd see where Vagrant makes sense.


I use vagrant but I never do vagrant destroy. I just create a separate vagrant for every project that has different requirements. So I have one with LAMP , one with Rails etc and don't have to worry about them treading on each other's toes.

The advantage is how easy it is to create a new VM under vagrant, just entering a few commands vs going through an OS install process. Also most of the boxes are created with development in mind, so having a shared folder created automatically and a passwordless SSH login is a timesaver.

If you wanted a significantly divergent configuration from the base config you could just create a new box and puppet manifest. That way you can distribute your configuration to other developers if required.

You shouldn't need to customize the VM that much beyond installing tools required for the project, because the idea is that you still run most of your user-facing tools on the host OS.


It seems like the purpose of Vagrant is to easily and consistently create VM environment: either multiple VMs for testing, or sharing the same VM setup with others. (based on what I read, no experience here)

Is there a particular use-case for Vagrant where i) I already setup my VM environment ii) Not much sharing or duplication of the VM environment is necessary iii) I actually code within the VM, not just as production/testing environment


The strongest use-case for Vagrant is to set up separate VMs for each project. This allows you to ensure a clean, stable environment for each project you may have, without it being cluttered by dependencies from other projects.

It's like a system-wide virtualenv.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: