What is a CI/CD Pipeline?
Renuka Patil

Renuka Patil @renukapatil

About: Interested in cloud computing, DevOps and microservices.

Location:
Pune, India
Joined:
Mar 7, 2022

What is a CI/CD Pipeline?

Publish Date: Jul 8
5 0

🔄 What is a CI/CD Pipeline?

CI/CD stands for:

  • CI = Continuous Integration
  • CD = Continuous Delivery / Continuous Deployment

A CI/CD pipeline is an automated process that helps build, test, and deploy your code quickly, reliably, and consistently across environments (like dev, staging, production).


✅ 1. Continuous Integration (CI)

CI means:

  • Developers frequently push code to a shared repository (like GitHub, GitLab).
  • Every push triggers automated builds and tests.
  • This helps catch bugs early and ensures code stays stable.

Example:

git push origin main
# Trigger: Build → Unit Test → Lint → Package
Enter fullscreen mode Exit fullscreen mode

✅ 2. Continuous Delivery (CD)

CD means:

  • After passing tests in CI, code is automatically packaged and ready to deploy to staging or production.
  • Deployment may still require manual approval.

✅ 3. Continuous Deployment

A step beyond Continuous Delivery:

  • Code is automatically deployed to production without manual approval if all tests pass.
  • Used when teams have high confidence in test coverage.

📦 Typical CI/CD Pipeline Stages

Stage What It Does
Source Code pushed to GitHub/GitLab triggers pipeline
Build Compiles Angular/Backend code
Test Runs unit/integration tests
Lint Code formatting and static analysis
Package Generates build artifacts (e.g., .zip, Docker)
Deploy Push to dev/staging/production server

🛠️ Tools for CI/CD

Type Examples
CI/CD Tools GitHub Actions, GitLab CI/CD, Jenkins, Azure DevOps, CircleCI
Build Tools Webpack, MSBuild, dotnet CLI
Deployment Docker, Kubernetes, Azure App Services, AWS Elastic Beanstalk

🧠 Why Use CI/CD?

  • ✅ Faster delivery of features and fixes
  • ✅ Early bug detection
  • ✅ Consistency and repeatability
  • ✅ Less manual work = fewer errors
  • ✅ Easy rollback and monitoring

📌 Example (Angular + .NET Core with GitHub Actions):

name: Build and Deploy

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '16'
    - name: Install Angular
      run: npm install -g @angular/cli
    - name: Install Dependencies
      run: npm install
    - name: Build Angular
      run: ng build --prod

    - name: Setup .NET
      uses: actions/setup-dotnet@v2
      with:
        dotnet-version: '7.0.x'
    - name: Build .NET API
      run: dotnet build
    - name: Run Tests
      run: dotnet test

    # Add deployment step if needed
Enter fullscreen mode Exit fullscreen mode

Happy Coding!

Comments 0 total

    Add comment