WOCE Build Environment
Develop in your environment, Build in ours.
WOCE Build Environment
The WOCE BE uses Vagrant and Virtualbox to create a self-contained build environment for use on OSX and Linux Hosts.
Our goal is to create a consistent build setup for developers so that if there are issues with builds we can know that we all are singing off the same sheet of music.
x86 based computer running OSX(10.5 minimum) or Linux(32bit or 64bit).
Enough resources to allot:
- 1 "Virtual CPU"
- 1GB "Virtual RAM"
- 20GB "Virtual HD"
1. From your development host go to Vagrant Downloads and download the latest version for your host.
2. From your development host go to Virtualbox Downloads and download the latest version for your host.
3. Install Virtualbox
4. Install Vagrant (Vagrant Getting Started Guide)
5. From a Command Prompt in the directory you have set aside for the build environment
git clone git://www.github.com/woce/woce-be
From a Command Prompt in the woce-be directory:
Bring the VM online
(You can ignore stdin: not a tty errors- these are normal.)
SSH into the VM
From here, there will be a woce-build directory in /vagrant/home, cloned down from git during 'vagrant up'. Also for convenience of custom builds, the directory containing the Vagrantfile on the host OS will be mounted at /srv/share inside the virtual machine.
When you're done: Shut down the VM
And if you want to destroy the VM to start with a clean slate:
To maximize build performance, it is recommended to configure the Virtual Machine with as many CPU cores and as much RAM as is possible.
This can be done through the VirtualBox Settings dialogue, recommended settings are half of the host system's CPU cores, and half of it's RAM.
8 CPU Cores 8Gb RAM
4 CPU Cores 4Gb RAM
Also note there is a shared folder between the host and virtual machine. The folder your vagrant files are stored in is shared with the virtual machine in /srv/share. This is useful in allowing you to do dev work in the environment you are most comfortable with while still making it easy to use our build environment. Anything you want the build environment to be able to access for the build should be placed in this folder. Assuming your vagrant install is as recommended, see the following as an example.