Child pages
  • Using CruiseControl As Continuous Build Software

Versions Compared

Key

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

 

Using CruiseControl as Continuous Build Software

...

Note

As of Servoy 7.2 it is advised to use Jenkins instead of CruiseControl as Continous Build software. This page will no longer be maintained after the Servoy 7.2 release.

 

The continuous build software CruiseControl is open source, has a no-cost license, and is well suited for Java applications.

Stoc

Overview

CruiseControl is a free continuous build software package released as open source software. It is managed by ThoughtWorks, whose employees created the original version. It is well suited for Java based projects, and some of the more notable features include:

  • Plugins for builders such as Ant, NAnt, Maven, and Xcode; source control such as CVS and SVN; and notification via email and instant messaging.
  • Other 3{^}rd^ part extensions for various report and usability.
  • Open source so extensible and customizable.
  • Web application

Installing CruiseControl

Info

These instructions are for a Windows installation.

...

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

Clicking install 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>{myHost}:8080/dashboard. The application dashboard will launch and you should see a screen like below

...

  • If you cannot launch the dashboard, make sure Servoy is not running (see configuration tips below)
  • If the dashboard is running, but there are build errors, as indicated in the builds tab, one issue could be that your Java environment is not properly configured. The connectfour project depends on Ant being configured correctly, and if there are issues with the program reaching Ant, or if there are multiple versions on your machine, there might be issues with the build. Check your Java environment and environment variables to ensure that Ant runs properly.
  • Make sure the service actually starts. If not, check to make sure the install actually completed and that you have proper permissions in the installation location.

Configuration Tips

As CruiseControl and Servoy are both Java driven applications, they share some Java technologies, and by default, share port configurations as well. If you plan to run CruiseControl and Servoy Application Server on the same machine, port changes will need to be made one application or the other in order for the applications to work properly.

...

Changing ports for a Servoy Application Server installation is detailed hereon Network Related Settings.

To change port configurations for CruiseControl instead, modify the wrapper.conf file found in the CruiseControl main folder. See the section below:

...

Note that parameter 3 and parameter 9 are conflicts with Servoy Application Server default ports. Change these ports to any other available port on the machine.

Step-by-step

...

Configuration for

...

Using It with Servoy

Step 1 -- Create a

...

Folder

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

Info

File structure for this folder can be found in SofwareFactory.zip

Step 2 -- Install CruiseControl and Edit wrapper.conf

Install CruiseControl into the c:/SoftwareFactory/CruiseControl folder. (Instructions)

This is also a good time to make configuration changes to the wrapper.conf file (Instructions) 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

...

Save the wrapper.conf file.

Step 3 - Download and Install SVNAnt

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

At this time, it is a good idea to create the workArea file structure, create a folder name workArea and build the following structure (note that some of the files needed are provided later in this document). This is where most of the work will occur during the operation. CruiseControl will be configured to run out of this folder.

...

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

Alternate

...

Steps If the SVN

...

Does Not Contain the Solution

If your SVN does not contain the solution yet, and you have the solution in a .servoy file, do the following:

  1. Open Servoy Developer.
  2. Install Subclipse plugin if you have not done so already and restart.
  3. Import the solutions into the current workspace (should be c:/SoftwareFactory/DeveloperWorkspace)
  4. Share the solution on SVN.
  5. Close Servoy Developer

Using Servoy Developer to Checkout Solution

As an alternative, you can use Servoy Developer to check out the solution. (NOTE: you will still need the command line client for operation of the software factory)

  1. Make sure the solution is in the SVN repository.
  2. Open Servoy Developer, verify Subclipse 1.8 is installed.
  3. Change workspace to c:/SoftwareFactory/workArea/checkout/testrunner.
  4. Checkout the solution(s) from SVN repository.
  5. Change the workspace back to c:/SoftwareFactory/DeveloperWorkspace
  6. Close Servoy Developer.
Info

If you are using a SSL repository, the SVN server certificate must be trusted. Otherwise, the software factory will fail.

Step 7 - Configuration

A file structure should be started now (example files in SoftwareFactory.zip)

...

servoy.properties - a separate properties file for any db connections used to run unit tests, as well as a repository for the unit tests.

Step 8 - Restart and

...

Force Build/Commit Change

After making any changes to properties, the CruiseControl service must be restarted. After restarting, or starting if you have not started the service, try to make a build of the project. If everything succeeds, there should be a clean .servoy file in your passed exports folder.