70 lines
1.8 KiB
Markdown
Executable File
70 lines
1.8 KiB
Markdown
Executable File
---
|
||
note type:
|
||
- devops
|
||
- note
|
||
date: 2026-06-03
|
||
done: true
|
||
---
|
||
# 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.
|