I've created a virtual machine with Vagrant and some provisioning scripts. Now I want to hand out copies of the fully provisioned machine to participants at a workshop. This workshop will be mainly about the software running in the VM and not so much about Vagrant, so installing Vagrant on the participant's machines is out of the question. Is there an easy way to create an OVA file from the VM I created with Vagrant?
The "hard way" I'm planning to do is writing a script that uses various vboxmanage
commands to
- clone the VM created by Vagrant
- remove unneccessary shared folders (only used for provisioning).
- export the clone to an OVA file
But maybe there is a better way?
I would use Packer. You can use many of the same provisioners as with Vagrant.
See e.g. the provisioner and VirtualBox Builder docs for more information. And you can find many template examples in Github.