CI CD Explained
CI CD Explained
CI/CD
EXPLAINED
FOR BEGINNERS!
Explained with a
Pizza Shop Analogy! 🚀
mukesh murugan
@iammukeshm
codewithmukesh
Imagine..
You're running a pizza delivery service, and you want to ensure
that the pizzas you deliver are always top-notch and arrive at your
customers' doors as quickly as possible!
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
CI - In Short!
Continuous Integration
CI focuses on preparing code for release (build/test)
Developers have to regularly push their feature changes back
into the main branch.
These changes are validated by creating a build release and
running automated tests against this build.
High importance to Automated Testing and Code Coverage.
This ensures that the application doesn't break after new
changes are merged.
mukesh murugan
@iammukeshm
codewithmukesh
The pizza is fully cooked, tested, and ready to go, but it's just
waiting for someone to assign a delivery boy to this order. Similarly,
in software development, Continuous Delivery means that every
change that passes the automated tests is ready to be deployed to
a production environment whenever the team decides it's the
right time.
mukesh murugan
@iammukeshm
codewithmukesh
CD(Delivery) - In Short!
Continuous Delivery
CD focuses on the deliverables.
Extension to Continous Integration.
In Continuous Delivery, the deployment to the production
environment is not automatic.
The software is always in a deployable state, and it's up to the
development or operations team to decide when to push those
changes to the live environment.
This needs a manual intervention.
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
CD(Deployment) - In Short!
Continuous Deployment.
The CD focuses on automating deliveries.
No Human Intervention is needed.
Every time a code is pushed, built, tested, and merged, an
automated deployment happens in your environments.
Possibly the ideal state you want your team to be in, as there
will be no more release days to be scared of!
mukesh murugan
@iammukeshm
codewithmukesh
Azure DevOps
AWS CodePipeline
GitHub Actions
Jenkins
GitHub Actions is the easiest and FREE way to get started with
CI/CD.
mukesh murugan
@iammukeshm
codewithmukesh
Summary
Planning / Feature Intake.
The developer delivers the changes to his Feature Branch.
Once tested and reviewed, the feature branch is merged into
the master branch. (CI)
Release is generated via the build pipelines, after running the
automated tests. (CI)
The team decides when the feature goes into production. (CD)
Or, Deployment into Production is automated. (CD)
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
HELPFUL?
REPOST
mukesh murugan
@iammukeshm