CI/CD Pipeline Explained in Simple Terms
Section 1 - SDLC with CI/CD
The software
development life cycle (SDLC) consists of several key stages:
development, testing, deployment, and maintenance. CI/CD automates and
integrates these stages to enable faster, more reliable releases.
When
code is pushed to a git repository, it triggers an automated build and
test process. End-to-end (e2e) test cases are run to validate the code.
If tests pass, the code can be automatically deployed to
staging/production. If issues are found, the code is sent back to
development for bug fixing. This automation provides fast feedback to
developers and reduces risk of bugs in production.
Section 2 - Difference between CI and CD
Continuous
Integration (CI) automates the build, test, and merge process. It runs
tests whenever code is committed to detect integration issues early.
This encourages frequent code commits and rapid feedback.
Continuous
Delivery (CD) automates release processes like infrastructure changes
and deployment. It ensures software can be released reliably at any time
through automated workflows. CD may also automate the manual testing
and approval steps required before production deployment.
Section 3 - CI/CD Pipeline
A typical CI/CD pipeline has several connected stages:
- Developer commits code changes to source control
- CI server detects changes and triggers build
- Code is compiled, tested (unit, integration tests)
- Test results reported to developer
- On success, artifacts are deployed to staging environments
- Further testing may be done on staging before release
- CD system deploys approved changes to production
Comments
Post a Comment