Files
org_roam/Career Concepts/20260305111610-cicd_summary.org
Zaine ccdd229a7d
All checks were successful
Build Roam Site / build (push) Successful in 32s
search key nav fixes
2026-05-14 14:51:09 +01:00

67 lines
1.8 KiB
Org Mode
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:PROPERTIES:
:ID: 5b714c6c-7eaf-4f3f-b4f6-2166ff3a9963
:END:
#+title: CI/CD Summary
#+filetags: :notes:technical:career:
#+category: Career Concepts
* Summary
CI/CD stands for Continuous Integration and Continuous Delivery/Deployment. Its 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.