CI- Continuous Integration
"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." --Martin Fowler
CD- Continuous Delivery
"Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time" --Martin Fowler
CD- Continuous Deployment
Continuous Deployment is a third term that's sometimes confused with Continuous Delivery. Where Continuous Delivery provides a process to create frequent releases but not necessarily deploy them, Continuous Deployment means that every change you make automatically gets deployed through the deployment pipeline.
CI – What does it really mean?
At a regular frequency (ideally at every commit), the system is:
Integrated:
All changes up until that point are combined into the project
Built:
The code is compiled into an executable or package
Tested:
Automated test suites are run
Archived:
Versioned and stored so it can be distributed as
Deployed:
Loaded onto a system where the developers can interact with it
CI – Benefits
What is pipeline?
Overview of Sample CI & Tools
2005 - Hudson was
2010 – Oracle bought Sun Microsystems Due to a naming dispute, Hudson was renamed to Jenkins Oracle continued development of Hudson (as a branch of the original)
Under development since 2005
Plugins: https://plugins.jenkins.io/
Download: https://jenkins.io/download/
Source: https://github.com/jenkinsci
The pipeline as a code.
New job creation page with icon based on the job
New Job Configuration page with tab view
Backwards Compatible.
More details: https://jenkins.io/2.0/
Prerequisite :