vagrant is a tool that allow for simple management of virtual machines (VMs) in code.
sudo apt install vagrant*
Virtual box is required. Download the AMD64 version from here;
The VM is configured in the Vagrantfile. This file also calls a bootstrap.sh script which installs the required software.
When the VM is started there is a shared directory between the VM and the host at /vagrant. Any files that are in the directory containing this README will be available on /vagrant.
For example to have this repo available on the VM.
git clone email@example.com:apache/incubator-milagro-MPC.git
in this directory and then on the VM
mv /vagarnt/incubator-milagro-MPC $HOME
Start VM (this will run provisioner i.e. commands in bootstrap.sh)
Log onto VM
Stop the VM
Stop and delete VM
Run provision script again
vagrant up --provision