Working with Vagrant
Vagrant is a tool for building complete development environments. It allows developers to automate the setup of their development environments and reduces the time these steps take. It also standardizes development environments across team members making it easier to reproduce issues in equivalent environments across different host platforms. Vagrant is based on VirtualBox and runs on all modern operating systems used for software development.
Goals/Objectives/Outcomes
- Understand how to install and configure Vagrant on a development machine
- Understand how to use the vagrant command line tools
- Understand how to work with base boxes
- Understand how to connect to and manage vagrant boxes
- Understand how to provision, halt, destroy and rebuild vagrant boxes
- Understand how to develop and run provisioning scripts
- Understand how to configure networking using vagrant
- Understand how to synchronize between folders on the host and virtual machine
- Understand how to share your boxes with others
Reference Material
- http://docs.vagrantup.com/v2/getting-started/
- https://www.youtube.com/watch?v=PmOMc4zfCSw
- https://scotch.io/tutorials/get-vagrant-up-and-running-in-no-time
- http://code.tutsplus.com/tutorials/vagrant-what-why-and-how–net-26500
- http://www.cyberciti.biz/cloud-computing/use-vagrant-to-create-small-virtual-lab-on-linux-osx/
Measures of Success
- Participant has demonstrated the ability to provision a development environment in a vagrant box
- Participant has demonstrated the ability to create a provisioning script for their development environment
- Participant has demonstrated the ability to configure networking and port forwarding for their development box
- Participant has demonstrated the ability to create shareable boxes from their environment and how to use these as base boxes