Overview of CI/CD:
Notes on CI/CD Pipeline
Key Concepts:
- Methodology:
- CI/CD Pipeline is a methodology used in software development for automated processes.
- It encompasses Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CD).
- SDLC:
- CI/CD is an integral part of the Software Development Life Cycle (SDLC).
- Automated Processes:
- The pipeline involves automating steps to ensure efficiency and reliability in the development process.
Examples:
- CI/CD Process Flow:
- The flowchart depicted involves steps such as washing, cutting, and cooking ingredients like Paneer, Onion, and Tomato.
- This analogy helps in understanding the sequential and automated nature of a CI/CD pipeline.
- First-Come, First-Served (FCFS):
- The diagram at the bottom illustrates the FCFS principle, highlighting the orderly processing of tasks or items.
Before Continuous Integration
- Process Without CI:
- Developers commit code to a repository (e.g., GitHub).
- Code is integrated and tested in cycles, typically every 7 days.
- This process often leads to delayed feedback and potential integration issues.
Examples:
- Pre-CI Workflow:
- The diagram illustrates the involvement of developers, the repository, and the integration and testing steps.
- It shows the time delays (3 days for commit, 7 days for integration and testing).