PDF Print E-mail

Compass Version 1.3

TOC
next >>

Compass Overview

The Compass Server and Compass Build Client Applications

Compass is a distributed continuous integration server and consists of 2 primary applications. The two applications are the Compass Server and the Compass Build Client. The Compass Server controls the execution of build plans and storing the results of every build. It also acts as it's own web server and the interface for Compass is provided through web pages. Through the Compass Server web interface, users can create new build plans consisting of build steps that checkout code, build executable, or run unit tests. Through the Compass Server Web Interface users can schedule build plans to execute at certain times or when a repository changes and which machines and configurations each build should be run on. However, the Compass Server does not execute any build plans, that is the job of the Compass Build Client.

The Compass Build Client, is an application that runs on each machine that users want to execute their build plan. It connects to the Compass Server and is told when to execute a build plan and is given all the data and information required to execute that plan. The Compass Build Client executes the build plan until it completes the build plan or until a step in the build plan fails. The Compass Build Client then packages up any output files along with the results and output of each build step in the build plan and sends this result back to the Compass Server. On the Compass Server, users can track the progress of each Compass Build Client and see the results of every build that a Compass Build Client has executed.

The Compass Server and Compass Build Client are both python executable scripts and can be run on any computer that supports Python 2.5.4 or higher. In addition to the Compass Server and Compass Build Client, on Windows, Compass has two conveinence applications for non-python savvy users. These two applications are called the Compass Manager and the Compass Client Driver and let users start and stop Build Clients on any machine that the Compass Client Driver is installed on and also lets administrators start and stop the Compass Server.

Build Plans

Users set up build plans through the Compass Server web interface. Each build plan contains a series of steps that Compass will executes in order, until all steps have completed or until a step fails. Each build step consists of a script along with parameters to be passed to the script. A Script can do almost anything that a user wants it to do, however most scripts fall into one of four categories:

  1. Source-Control server accessing
  2. Pre-processing or post-processing of code and build output
  3. Building source code
  4. Testing build output

Compass ships with a database full of common scripts including scripts to checkout and update from subversion, CVS and perforce servers, to build code using visual studio, make and ant, and with unit test parsers for PyUnit and JUnit. Anx Labs Partner have access to more scripts in the script depot on the Anx Labs partner website.


Build Results

The result of each execution of every build plan on a Compass Build Client is reported back to the Compass Server where users can view the results in a number of different ways.

On the build results page, users can see the command line that was executed and the resulting output of every build step. If the build step included a unit test, then the number of unit tests that were run, and that passed is reported as well.

The build plan also indicates which files and/or directories should be saved as 'final output'. If the build plan completes successfully then the final output of build plan is zipped up and saved on the Compass Server. The output can be downloaded through the Compass Server web interface to any computer that can access the Compass Server.

Each build plan can notify people when build plans complete via email or via RSS. There are two triggers for sending notification. When a build plan completes or when a build fails. This gives each member of a development team the ability to subscribe to either event.

Finally, build results can be charted over time to monitor the health of a project. Compass currently allows users select from a number of charting options and filters. The results can be output to csv files to be entered into a spreadsheet application for further analysis.

 

 

bottom
top
Copyright © 2010 Anx Labs. All Rights Reserved.
Anx Labs Inc. - 2251 Double Creek Dr. Ste. 604, Round Rock TX 78664 - 1-888-900-6819
bottom