An introduction to CI/CD & Jenkins
In this article we will see what is CI/CD, what is Jenkins.
What is CI?
CI means Continuous Integration, is a development practice where set of developers do changes to their source code and push their changes to source code repositories regularly.
Benefits of CI:
- Fast feedback to the developers
- Automate the build
- Enforces discipline of frequent automated testing
- Improves code quality & minimizes defects
In the below picture we could see both CI/CD.
What is CD?
With continuous delivery, every code change is built, tested, and then pushed to a non-production testing or staging environment. There can be multiple, parallel test stages before a production deployment.
Continuous Delivery vs. Continuous Deployment
The difference between continuous delivery and continuous deployment is the presence of a manual approval to update to production. With continuous deployment, production deployment happens automatically without explicit approval.
What is Jenkins?
Jenkins is a popular automation tool for CI/CD. It is an open source & written in Java. Jenkins is collection of plugins.
Other CI/CD tools:
CircleCI
Bamboo
Bitbucket CI
GitLab
Azure DevOps
GitHub Actions
Summary: In this article we have seen what is CI/CD & an intro of different CI/CD tools.
References: