Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Background:

"Continuous Integration (CI) is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly." (Martin Fowler, http://martinfowler.com/articles/continuousIntegration.html )

...

sipXecs use a distribute CI architecture where both master and slaves are configured as Amazon EC2 instances. Master role is to invoke builds on slave machines (configured as new instances at build time in case of nightly builds or as predefined slave containing Hudson agent and launched via execution of SSH command on master: Manage Hudson > Manage Nodes > ci-slave1.sipfoundry.org). No build is performed on master instance.

Security

sipXecs CI server is integrated with Crowd (meaning that you can use same JIRA or wiki account to login in its console ). At this moment only the following groups (besides administrators with full control) are granted with access (list is open and will be modified based on community feedback): sipXecs-commiters and sipXecs-developers can start new builds and see current jobs status.

Notifications

sipXecs CI make use of email (on build success and failure, before starting a new build) and IRC (channel #sipx) notifications.

Type of builds

At the moment there are two type of builds performed by sipXecs CI server:

...

Plugin name

Version

Description

Hudson Cobertura Plugin

1.0

Used for integrating Cobertura coverage reports in sipXecs CI email notifications

Crowd integration

1.1

Used for integrating sipXecs CI with Sipfoundry Crowd

Amazon EC2 Plugin

2.9

Used for starting new Amazon EC2 instances for running nightly builds on

Git Plugin

1.1.1-SNAPSHOT

Used for polling sipXecs repository - version installed for fixing http://issues.hudson-ci.org/browse/HUDSON-7547

Instant Messaging Plugin

1.10

Prerequisite for IRC plugin

IRC Plugin

2.7

Used for sending notifications on sipXecs IRC channel

SSH slaves plugin

0.14

Used by master for starting Amazon EC2 image as Hudson slave

...

The following actions are available in Hudson console (if you have proper rights): 

- Build on demand: If you want to invoke a new build for a given project you can easily accomplish this (if you are in the group of authorized users) within the Hudson administration console. Click on the project name you want to build and proceed with "Build Now" link - a new entry will appear under Build History section. 

- Console Output (available per specific build):

- Display Changes (per job and per specific build):

Browse Workspace:

Git polling log (available per specific build):