1. First, a developer commits code to the version control repository. Meanwhile, the CI server on the integration build machine is polling this repository for changes (e.g., every few minutes). 2. Soon after a commit occurs, the CI server detects that changes have occurred in the version control repository, so the CI server retrieves the latest copy of the code from the repository and then executes a build script, which integrates the software. 3. The CI server generates feedback by e-mailing build results to specified project members. 4. The CI server continues to poll for changes in the version control repository.
Open Source Tools in Continuous Integration Environment March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil [email_address]
“ Continuous Integration 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 (includingtest) to detect integration errors as quickly as possible.”
Components of a Continuous Integration system CI Repository CI Server Deployment Platform Build Manager Feedback mecanism 1.Checkout: get all existing source from the repository 1 2 2.Commit: commit all local modifications in the repository 3 3.Pool: See if there is a commit in the repository 4 4.Build: Build construction in the JEE lifecycle. 5 5.Deploy: Artefact deployment in a target platform 6 6.Feedback: feedback mecanism like email notification and groupware.
The components of a CI system Commit changes Compile Source Code, Integrate Database, Run Tests, Run Inspections, Deploy Software Feedback Mechanism Generate feedback SCM Server (Svn, Git, …) CI Server