Skip to content

Unconference tutorial - Using Vagrant to script, cook, freeze, and share a development environment #12

Open
@dleehr

Description

@dleehr

Having scriptable, versioned, managed software configurations is a great platform on which to start building reproducible environments . We have a number of areas identifying containerization (e.g. Docker) as one solution, but scriptable environments like Vagrant can also provide such a platform.

Vagrant provides ways to build, version, share, and repackage entire virtual machines. This approach be much more forgiving (compared to Docker) during the assembly of software environments, while still providing the benefits of dependency management, versioning, and isolation (compared to bare metal). Additionally, Vagrant is extensible with a plugin architecture and encourages re-usable recipes rather than black boxes.

Most importantly, this tutorial will show how Vagrant makes it easy to get a environment running, and straightforward to continue developing on that environment.

  1. Developing inside a Vagrant VM - start with an existing box, login.
  2. Running on other providers - VirtualBox, VMware, AWS, Docker
  3. Decoupling from Vagrant - Using provisioner
  4. Sharing Vagrant boxes - both access to running instances and packaging boxes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions