My personal Buildbox with Veewee a tool for easily bulding custom Vagrant base boxes, KVMs, and virtual machine images. By using the Rakefile you can automatically generate VirtualBox images.
More information on the fantastic Veewee.
.gitignore- ignore rules to tell git what files to ignore
.ruby-gemset- currently used Ruby gemset with RVM
.ruby-version- currently used Ruby version
GEMFILE- Gems needed
Rakefile- file to generate boxes
The repository contains a Rakefile that includes tasks. To view the
tasks available with in the repository with a brief description, run
The default task (
default) is run when executing
rake with no arguments.
It will call the task
rake build:all- Build all baseboxes
rake <definition>- Build a specific box from a definition
rake build:ci- Skip adding to vagrant and archive the boxes (CI Builds)
I give you a short tutorial on how to install everything on a Mac. There are probably far better tutorials for Linux and other OS. The easiest
way to install RVM is by using JewelryBox which is an official OSX RVM GUI. From inside the app you can install your preferred Ruby version e.g. ruby-2.0.0-p0 and name your RVM gemset e.g.
vagrant-buildbox. (see under usage)
Generate boxes for VirtualBox
Clone the repository to your working directory.
git clone <repo_name>
Whenever you switch to the working directory you will be asked to use a specific RVM gemset. Make sure to edit
vim .ruby-gemset and
vim .ruby-version to your needs in advance if you want to name the RVM gemset differently.
Make sure to install bundler (in advance execute
gem install bundler).
Install all other dependencies using bundler
Attention: If you have any older versions installed, please make sure to use
bundle update to update your Gemfile.lock
Adding Veewee Definitions
Update all Veewee Templates by installing
gem install veewee-templates-updater and then type
Take a look at the pre-defined templates that come with Veewee:
veewee <provider> templates
Pick one of the pre-defined templates and add it to the definitions directory, e.g.:
veewee <provider> define 'my-ubuntu-13.10' 'ubuntu-13.10-server-amd64'
rake <name> it will build a basebox.
Fixes and next steps
rake build:cicurrently stop after the first build. Creating every box after another works well though.
- Next step: Generate a Cronjob.
- Next step: Automatically generate Parallels and VMWare boxes.