CruiseControl est un projet open source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans le cycle de développement, la partie cruciale est l’intégration. C’est elle qui permet de révéler les éventuelles erreurs et incompatibilités des différentes parties réalisées par chaque développeur de l’équipe.
CruiseControl permet d’automatiser cette phase d’intégration selon la succession des tâches suivantes :
• Récupération des fichiers sur le SCM (Source Code Management)
• Compilation du code source
• Création de l’archive de l’application (Ear, Jar, War, …)
• Déploiement de l’archive
• Exécution d’une suite de tests (Junit)
• Notification du résultat (Mail, rss, …)
L’architecture de CruiseControl se décompose en 2 modules :
- Reporting : c’est une application Web qui permet de visualiser les fichiers de logs, les archives et d’interagir avec le module suivant.
- Build Loop : c’est le coeur de CruiseControl qui permet de lancer les différentes tâches énoncées ci-dessus.