Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A unified code repository - the team must have access to shared code (team sharing, SVN)
  • Daily commits - every developer commits daily to the repository so changes are incremental
  • Commits are built - when the code is committed by a developer, the software is built to show it is functional.
  • Builds are automatically tested - When the code is built, unit tests are performed, so if errors are found in a unit test, the developer can correct those errors immediately.
  • Results are available to everyone - if a build breaks, everyone can see where the issue lies and what needs to be done to fix it.
  • Successful builds are deployed immediately (automated deployment) - this ensures that the latest software is available to everyone in the team (product owners, testers)

...

  • Repository software - software to manage the code base (SVN)
  • Build software - software to actually build and run unit testing (ANT)
  • Communication software - how to communicate information among the team members.
  • Deployment software - in our case, Servoy Application Server.
  • Continuous build software - software to manage the continuous build process and make sure each step is occurring.

...

These instructions will concentrate on using the Windows installer. The other two options are available if a more customized installation is desired or necessary.
Once the installation file has been downloaded, executing the installer should open a window

Select all the components. Next, the installer will ask for a location. This location should have sufficient rights for read/write

Clicking install will start the installation. After the installation is complete, there should be a folder containing the program contents

Also, if you open the Local Services control panel for the machine, there should be a service named "CruiseControl Service" available that has not been started yet. Go ahead and start the service to start CruiseControl.
CruiseControl ships with a default Java project named ConnectFour. When CruiseControl starts, it will try to build this project (using Ant) and return a result. To see if this has occurred, open the CruiseControl dashboard at the following location: http://<serveraddress_or_localhost>:8080/dashboard|\. The application dashboard will launch and you should see a screen like below

If the build has passed, then CruiseControl is configured and running properly in its default state.
Some troubleshooting tips if installation does not work:

...

The following information is a step by step guide to building a continuous build server. It includes a sample configuration for a sample set of solutions, as well as instructions on where to change this information for your solutions.

Step 1

...

Create a folder

Create a folder for the software factory:
c:/SoftwareFactory

Step 2

...

Install CruiseControl and Edit wrapper.conf

Install CruiseControl into the c:/SoftwareFactory/CruiseControl folder. Instructions. <<LINK>>
This is also a good time to make configuration changes to the wrapper.conf file Instructions <<LINK>> To work in this environment, we need to change and add some lines to wrapper.conf for the run directory and classpath:
Add two lines right above the wrapper.java.classpath lines in the wrapper.conf

Code Block

wrapper.working.dir=c:/SoftwareFactory/workArea

...


set.CC_INSTALL=c:/SoftwareFactory/CruiseControl

Modify three lines as follows:

Code Block

wrapper.java.classpath.1=%CC_INSTALL%/lib/wrapper/*.jar

...


wrapper.java.classpath.2=%CC_INSTALL%/lib/*.jar

...


wrapper.java.library.path.1=%CC_INSTALL%/lib/wrapper
Tip
title"NOTE

...

"

To avoid a bug that makes the dashboard not show build status, use Java 6 instead of 7; modify the following line to point to Java 6:

Code Block

wrapper.java.command=c:/Program Files/Java/jre6/bin/java

Save the wrapper.conf file.

...

SVNAnt is a helper application used by ANT to update projects from the SVN. Download the application from: http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip. Extract the contents of the zip file into c:/SoftwareFactory/svnant-1.3.1

Step 4

...

Install Servoy Developer

We need an installation of Servoy Developer. Install Servoy Developer with the following options set

  • Install Servoy in the folder c:/SoftwareFactory/Servoy
  • Install with a separate PostgreSQL database, create a repository connection and create the repository.
  • Create the workspace as c:/SoftwareFactory/DeveloperWorkspace

Step 5

...

Install command line SVN client

SVNAnt works better with a command line client. Recommended: slikSVN

Step 6

...

Checkout Solution Into Work Area

Using the command line client installed, check out the solution (or solutions) from the SVN into the workspace file located at c:/SoftwareFactory/checkout/testrunner. For details on how to do this, please refer to the SVN client you have chosen.

...

A few items need to be configured at this point.
cruisecontrol.properties - a few items in this file need to be configured for your environment

  • Mail properties - so CruiseControl can send emails on build status
  • SVN properties - username, password
  • Directories - workArea, and others.

config.xml - configure the modification sets
these lines need to be configured for every solution in the workspace
<svn localworkingcopy="${svnDir}/solution1" property="solution1_changed" />