The concept of Continuous Integration
On March 27,2022 by Tom RoutleyIntroduction
The continous integration process has for a main objective to verify that each update of the source code does not generate regressions and/or abnormalities on an application under development.Historically, integration has been continuously used by IBM to develop OS/360 since the 60s.
Continuous integration is not a tool but rather a practical result of eXtreme Programming (XP).
Developers working on the same application program, re-initialize it often as possible. This will trigger, at each integration, a process which is based on a platform that automatically monitors the operation of the application so that anomalies are detected upon entry.
The most difficult for a developer is to reflect the real impact of an update on all the basic functionalities of the application. Continuous integration can give the developer the broader view on the application since the application tests are done on an clone environment.
Keywords
Build:All steps necessary to compile and create, deliverables, needed to launch tests (functional, unit, HMI, etc.).
Commit: This operation allows the validation of updates to existing source code on the local working directory of the developper's machine, via a configuration management tool (such as SVN).
Update: This operation allows the update from the repository of the configuration management tool of the local directory.
Checkout: This is the operation to extract a version of a project under development from the repository of the configuration manager to a local working directory.
General scenario
The developer made a commit to the repository of the configuration manager .
The integration server detects the commit,make a Checkout launches operations compilation and testing
In case of failure notification is generated to the project manager and/or development team.
The developer concerned by the error makes an update of theconfiguration management repository and corrects the anomaly.
General Features of a continuous integration server
A continuous integration server should primarily enable:
To make Checkout operations of the Configuration Manager .
Compiling source code
The creation of the application archive (Ear, Jar, War, ...)
The deployment of the archive on the test machine.
Running a test suite: JUnit, Cactus, source code auditing, GUI testing, functional testing
Notification of the result: mail, RSS.
The creation of statistical report.
Integration with other tools
Some popular integration server
Cruise Control: open source and free, well-known, well documented, to test applications and J2EE applications. Net. is the reference of continuous integration.
Hudson: open source and free, become more popular recently that Cruise Control can test J2EE applications. Used by SUN.
Continuum: free opensource supported by the Apache Foundation.
Bamboo: opensource, but must be bought.
Notes
Thanks to wjaouadi for this tip.
Article Recommendations
Latest articles
Popular Articles
Archives
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- January 2021
Leave a Reply