This commit is contained in:
62
Career/CI-CD Summary.md
Normal file
62
Career/CI-CD Summary.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Summary
|
||||
|
||||
CI/CD stands for Continuous Integration and Continuous Delivery/Deployment. It’s a development practice that automates building, testing, and delivering software so code changes can be released quickly and reliably.
|
||||
|
||||
## Continuous Integration (CI)
|
||||
|
||||
CI means developers frequently merge their code into a shared repository. Every time code is pushed:
|
||||
|
||||
1. The code is built automatically.
|
||||
2. Automated tests run.
|
||||
3. If something breaks, the team is alerted.
|
||||
|
||||
Goal: catch bugs early and ensure new code works with the rest of the project.
|
||||
|
||||
## Continuous Delivery / Continuous Deployment (CD)
|
||||
|
||||
CD takes the tested code from CI and prepares it for release.
|
||||
|
||||
- Continuous Delivery: Code is automatically prepared for production, but a human approves the final deployment.
|
||||
|
||||
- Continuous Deployment: Code is automatically deployed to production with no manual approval.
|
||||
|
||||
Goal: make releases faster and safer.
|
||||
|
||||
## Pipelines
|
||||
|
||||
A pipeline is the automated workflow that runs these steps in sequence. Think of it as a script that defines what happens after a code change.
|
||||
|
||||
Typical pipeline stages:
|
||||
|
||||
1. Source – code pushed to repository
|
||||
2. Build – compile the application
|
||||
3. Test – run automated tests
|
||||
4. Package – create deployable artifact (e.g., Docker image)
|
||||
5. Deploy – release to staging or production
|
||||
|
||||
Example simplified pipeline:
|
||||
|
||||
`Code Push → Build → Test → Package → Deploy`
|
||||
|
||||
Why CI/CD is useful
|
||||
|
||||
- Faster development cycles
|
||||
|
||||
- Fewer integration bugs
|
||||
|
||||
- Automated testing and deployment
|
||||
|
||||
- More reliable releases
|
||||
|
||||
Common CI/CD tools
|
||||
|
||||
- GitHub Actions
|
||||
|
||||
- Jenkins
|
||||
|
||||
- GitLab CI/CD
|
||||
|
||||
- CircleCI
|
||||
|
||||
In short:
|
||||
CI/CD uses pipelines to automatically build, test, and deploy software whenever code changes are made.
|
||||
Reference in New Issue
Block a user