Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
Out of the box Packer comes with support to build images for Amazon EC2, DigitalOcean, Google Compute Engine, QEMU, VirtualBox, VMware, and more.