Search code examples
vagrantpuppetansibledevelopment-environment

Provision Developer Workspace + IDE inside Virtual Machine


I'm trying to automate the provisioning of our developer workspaces which are based on Linux running in a Virtualbox. We also run the IDE inside the Virtualbox. The host system is Windows 7. The new solution will install the required dependencies (C libraries) and install + pre-configure the IDE (plugins, code formater).

I'm wondering if Vagrant would be the tool of choice for this task. I am irritated since the Vagrant philosophy seems to be: easy provisioning of a dev/test server but running the IDE on the host - not inside the guest. The latter is not an option for us.

What tooling would you recommend for our purposes?


Solution

  • This is the answer to my question. I eventually went for Vagrant.

    This simple switch let the normally hidden Virtualbox GUI appear:

    v.gui = true
    

    More details here: https://docs.vagrantup.com/v2/virtualbox/configuration.html

    My experience with the solution was generally ok. I got my recipes version controlled as wanted. However, the feedback loop was quite long. To build the box with all my customization it took me about 7 minutes which was usually wasted waiting time. When changing a little bit I could try to execute just the changed scripts but to see the whole thing I had to rebuild the box - another 7 minutes wasted waiting.

    I am currently trying to understand how in the world of infrastructure as code you still get acceptable feedback loop (let's say below one minute). I assume this is where you enter the world of configuration management with tools like Ansible or Puppet.