/quickstart-build

Build scripts for creating the QuickTest, QuickProd, QuickDev images as .ova and .box files.

Primary LanguageShell

quickstart-build

The build scripts for creating the Quickstart images.

To build everything:

$ bash build.sh

To debug, include -x on any bash command. E.g. bash -x build.sh

=== To build an official version

  1. Update settings.sh
  • Update Quickstart strings (QS_VERSION, QS_VERSION_NODOTS)
  • Update the QuickSprint image file /QuickSprint/Disk-Label.xcf (Gimp)
  • Check virtualbox installer download strings (www.virtualbox.org)
  1. Run the build script
  • bash build-all.sh

=== Overview

The build is broken into several steps. Steps were chosen on where work could be easily cached:

Packaging and publishing:

  • QuickSprint
    • QuickSprint is an ISO designed for use in sprints. We're collaborating with Drupal Ladder to offer this for people organizing sprints.
    • It's an ISO with the QuickDev.ova, a download of the Windows and Mac VBox installer, and files in the QuickSprint folder
  • publish-all.sh
    • scp's the files to Drupal Quickstart's account at OSUOSL. Requires private key to work.

=== 0) Ubuntu 12.04 LTS 64 bit "precise64" image from vagrantup.com

Download and Cache "precise64" Vagrant box from VagrantUp.com.

=== 1) QuickBox

Download all official updates and repackage image as QuickBox. This saves time during development by caching updates locally.

=== 2) QuickBase

The purpose of QuickBase is to build a minimumly viable system for Puppet customization.

For a non-virtual installation, all the QuickBase steps would be done manually.

  • Quickstart user, working dir, minimal packages, git clone quickstart-configure
  • Minimum bootstrap to run quickstart-configure build scripts
  • https://github.com/quickstart/quickstart-build/blob/dev/quickbase-config.sh
  • Makes a VBox "snapshot" that QuickTest/QuickProd/QuickDev restore before building.
  • To clear cache: bash quickbase-clean.sh
  • Built automatically in build scripts

=== 3) QuickTest

Build a headless development lamp server configured for testing. Uses a config.sh script in quickstart-configure repo.

During export, and "export copy" VM is made, so the images can be secured (remove the insecure Vagrant private key (link). The .box files are always insecure with ssh, but can work with Vagrant. The .ova files remove this security hole, and can be imported manually into Virtualbox

=== 4) QuickDev

Build a desktop development environment. Uses same scripts as QuickTest, just different puppet file.

During export, and "export copy" VM is made, so the images can be secured (remove the insecure Vagrant private key (link). The .box files are always insecure with ssh, but can work with Vagrant. The .ova files remove this security hole, and can be imported manually into Virtualbox