Continuous Integration is a software development practice where members of a team integrate their work frequently. Usually each person in the team integrates at least daily – leading to multiple integration per day. Each integration is verified by an automated build deploy and test to detect integration errors as quickly as possible.
Continuous Integration
At a regular intervals (ideally at every code commit), the CI system is:
- Integrate
- Build
- Deploy
- Test
- Archive
Continuous Integration workflow
There are several tools for CI and the most popular in the industry are Jenkins, Travis CI, GitLab etc .
Why Jenkins?
Jenkins is a highly configurable system. Plugins provide flexibility to the tool. It is Free and released under the MIT License.
Jenkins’ Capabilities
Integration with many different Version Control Systems
Push to various artifact repositories
Deployments to various test environments , staging environments or production
Run and Generate Test reports, static analysis , code coverage etc.
Notify stakeholders of build status etc.
CI is a necessity on complex projects due to the benefits it provides regarding early detection of problems. A good continuous build system should be flexible enough to fit into development environments and provide all the features a team expects from such a system.
Jenkins Dashboard
More Jenkins Tutorials : Jenkins Tutorials
More information can be found on the Jenkins official website at : Jenkins Website