Jenkins Continuous Integration

 
 

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

CI_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