This repository has been archived by the owner on Mar 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 141
set_up_ci
briancunnie edited this page Sep 17, 2012
·
5 revisions
pivotal_workstation can be configured with continuous integration (CI) to ensure that [at the very least] the most popular recipes run to completion. We use the following to run pivotal_workstation's CI:
- VMware Fusion (we prefer using open source solutions, but as of 2012.09.14, VirtualBox does not support OS X guests)
- Jenkins
You'll need three machines to run CI:
- Jenkins server
- VMware Host machine. The Jenkins user must be able to ssh into this machine & run commands
- CI machine. This is the machine that runs the recipes. It is a VMware guest on the VMware host machine. The Jenkins user must be able to ssh into this machine & run passwordless sudo
- First, we install a mostly-pristine version of OS X. A step-by-step example can be found here. Some key differences:
- Initial Virtual Machine Creation & Disk Partioning: 1 partition, not 2. Name it "ci"
- Install Developer Tools
- Skip the section Set Up Second (NEWLY_IMAGED) Partition
- Post-pristine Configuration
- Take a [VMware] snapshot Name it mostly_pristine. You can do this from the Fusion GUI, or you can use the command line with something similar to the following:
/Applications/VMware\ Fusion.app/Contents/Library/vmrun snapshot /Volumes/SSD/Virtual\ Machines.localized/pivotal-workstation-ci.vmwarevm/pivotal-workstation-ci.vmx mostly_pristine
- Create a Jenkins Job. Here's the XML file of the job we use. We also have a trigger job, and here's the corresponding XML file.