Continuous Build


Online Tools

NameRoleURL
SubversionSource Code Managementhttp://websvn.ow2.org/listing.php?repname=contrail&path=%2Ftrunk%2F
BambooContinuous Integrationhttp://bamboo.ow2.org/browse/CONTRAIL
NexusRepository Managerhttp://repository.ow2.org/nexus/index.html#nexus-search;quick~org.ow2.contrail
Binaries RepositoryStore for binary packageshttp://contrail.ow2.org/repositories/binaries/

Dependencies Management

Contrail has a Continuous Integration setup to ensure Contrail's code is built at all times (i.e. at every code commit). This also allows developers to only build the module they want and they'll have the other Contrail module dependencies downloaded from the OW2 Contrail Nexus repository.

When the build was successful, all artifacts are deployed in the repository manager to ensure it always contains the latest artifacts that was built by Bamboo CI.

binarydependencybuild.png

A broken build should be fixed as soon as possible to guarantee developers always have access to the latest versions of the artifacts.

Prerequisites

  • Use Maven to build your component.
  • Use SNAPSHOT version only, otherwise Bamboo will not be able to deploy the artifacts

Notifications

An email is sent to the notification mailing list when:

  • a failed build occurred after a successful build
  • a successful build occurred after a failed build
  • after each 5 consecutive build failures

Using Branches

Sometimes you develop a branch and you'd like to include it in the Continuous Build process, but without risking to break the main build. This section explains how to proceed...

Include a branch in the continuous build process

Every branch must be stored in the branches/ directory, and should contain a BRANCH_README file to explain its purpose.

When Bamboo has detected a change in the source code, it triggers a new build and call this script. To include your branch, you just need to edit this Makefile:

  1. Add a new target with an explicit name
    2. Add the target name to the prerequisites of the target all
    3. Test locally and modify until it works
    4. Commit
    5. Don't forget to *remove your target* once your branch has been deleted

Notifications are not enabled for the BRANCHES plan, you must check this bamboo page to know if the build was successful

Example

Suppose you have a branch named mybranch that can be built by executing your script compile.sh. To include this build in the continuous integration, the modifications to the Makefile could be:

all: mybranch                   
mybranch:
   cd mybranch && compile.sh

Nightly Builds

Latest Builds

Unknown macro: rss. Click on this message for details.

Unknown macro: rss. Click on this message for details.