Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
To build an Allura vagrant box:
$ mkdir ~/vagrant_allura && cd ~/vagrant_allura
# Get the base box, see http://www.vagrantbox.es/
# 12.04 is LTS, so will be good to stick with for some time
$ vagrant box add ubuntu-1204-server-amd64 http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-vagrant-amd64-disk1.box
$ vagrant init ubuntu-1204-server-amd64
# Get a copy of the provisioning scripts (note, Vagrantfile may change from
# release to release and may need manual updating)
$ cp -R /var/local/allura/vagrant/* .
# At this point you can make whatever changes you want to the provisioning
# scripts. Currently, the .pp puppet file runs first and sets some stuff up
# and then allura_setup.sh runs and does more.
# Provision the box (this will take a while)
$ vagrant up
# If you get an error, you can run `vagrant ssh` to get in and debug, and then
# `vagrant destroy` to start over
# Once the provisioning succeeds, `vagrant ssh` to the vm and do any testing
# you want to do. You should at least run `./update.sh && ~/start_allura` and
# make sure you can access the app at http://localhost:8080. After testing,
# remain logged into the vm for the next step (compression).
# Compress the VM. This will make your final .box file much smaller. It'll
# take a while. Once it finished, logout of the vm.
$ sudo /vagrant/compress.sh
# Package the Allura box
$ vagrant package --vagrantfile Vagrantfile.pkg
# Test your new box
$ mkdir ~/vagrant_allura_test && cd ~/vagrant_allura_test
$ vagrant box add allura ~/vagrant_allura/package.box
$ vagrant init allura
$ vagrant up
$ vagrant ssh
# Do whatever testing you want...
# If everything checks out, you can rename your package.box and upload it