DevOps : 1 ‐ Fundamentals - prabhanjanduholiya/tech-fundamentals GitHub Wiki
Azure Pipelines: Pipelines provide a way to build and deploy your software.
Continuous Integration (CI):
Definition: A development practice where developers integrate code changes into a shared repository as often as possible, ideally multiple times a day.
Purpose: To identify integration issues early, ensuring code quality and preventing integration hell during the release process.
Key Activities: Automated builds, unit tests, integration tests, and other quality checks triggered by code commits.
Goal: To make sure the software is always in a deployable state, even with frequent changes.
Continuous Delivery/Deployment (CD):
Definition: Extends CI by automating the release process, ensuring that code changes are automatically deployed to testing and production environments.
Continuous Delivery: Focuses on automating the release process up to the point of deployment, but a manual step might be involved before releasing to production.
Continuous Deployment: Goes a step further by automating the deployment to production environments without manual intervention.
Key Activities: Automated deployment to various environments, automated acceptance tests, and other checks to ensure readiness for release.
Goal: To make software releases frequent, reliable, and predictable, reducing manual effort and release cycles. In essence: CI is about integrating code changes and verifying them, while CD is about automating the delivery and deployment of those changes to users.