Skip to content

CI/CD Overview

First PublishedLast UpdatedByAtif Alam

CI/CD (Continuous Integration / Continuous Delivery) is the practice of automating the build, test, and deployment of software so that every code change is validated quickly and shipped reliably.

The three terms are often grouped together but mean different things:

TermWhat It DoesWhen It Runs
Continuous Integration (CI)Merge code frequently; build and test every change automaticallyEvery push / PR
Continuous Delivery (CD)Keep the application in a deployable state; deploy to staging automatically, production on approvalAfter CI passes
Continuous Deployment (CD)Deploy every passing change to production automatically — no manual gateAfter CI passes
Continuous Integration Continuous Delivery Continuous Deployment
───────────────────── ───────────────────── ─────────────────────
push ──► build ──► test ──► deploy staging ──► deploy staging
──► manual approval ──► deploy production
──► deploy production (fully automatic)

Most teams practice Continuous Integration + Continuous Delivery — automated builds and tests with a manual approval gate before production. Fully automated Continuous Deployment requires high confidence in tests and monitoring.

Without CI/CDWith CI/CD
”It works on my machine”Every change builds in a clean environment
Bugs found days or weeks laterBugs caught in minutes
Manual, error-prone deploymentsOne-click or automatic deployments
Infrequent, risky releasesSmall, frequent, low-risk releases
No one knows if the build is brokenBuild status is always visible

CI/CD is a technical practice; DevOps is a cultural one: break down walls between development and operations through shared goals, fast feedback, and psychological safety. Agile methods (short iterations, backlog, reviews) pair well with small, frequent releases—but only if pipelines are trustworthy and production is observable. This library’s CI/CD best practices and observability sections support that loop; your org adds ceremonies and roles.

A CI/CD pipeline is a series of automated steps that run every time code changes:

Trigger Build Test Security Deploy
──────── ───── ──── ──────── ──────
push to main ──► compile ──► unit tests ──► SAST/lint ──► staging
pull request install deps integration dependency ──► approval
schedule build image e2e scan ──► production
manual SBOM
StagePurposeExamples
TriggerWhat starts the pipelinePush, PR, tag, schedule, manual, API call
BuildCompile code, install dependencies, create artifactsnpm install && npm run build, docker build
TestValidate correctnessUnit tests, integration tests, end-to-end tests
SecurityCatch vulnerabilities earlySAST, dependency scanning, container scanning
DeployShip to an environmentDeploy to staging, wait for approval, deploy to prod
ToolVendorConfig FormatHosted RunnersSelf-HostedStrengths
GitHub ActionsGitHubYAML (.github/workflows/)YesYesMarketplace, tight GitHub integration, OIDC
GitLab CI/CDGitLabYAML (.gitlab-ci.yml)Yes (shared)YesAll-in-one platform, review apps, Auto DevOps
JenkinsOpen sourceGroovy (Jenkinsfile)NoYesExtremely flexible, huge plugin ecosystem
CircleCICircleCIYAML (.circleci/config.yml)YesYesFast builds, Docker-native, orbs
Azure PipelinesMicrosoftYAML (azure-pipelines.yml)YesYesAzure integration, multi-stage, templates
AWS CodePipelineAWSJSON/ConsoleYes (CodeBuild)NoNative AWS integration, CodeBuild/CodeDeploy
ArgoCDCNCFDeclarative (K8s manifests)NoYes (K8s)GitOps, Kubernetes-native continuous delivery
TektonCNCFYAML (K8s CRDs)NoYes (K8s)Kubernetes-native CI/CD, cloud-agnostic
ScenarioGood Fit
Code lives on GitHubGitHub Actions
Code lives on GitLabGitLab CI/CD
Need maximum flexibility / legacy pipelinesJenkins
AWS-native infrastructureAWS CodePipeline + CodeBuild
Azure-native infrastructureAzure Pipelines
Kubernetes deployments (GitOps)ArgoCD or Flux
Multi-cloud / vendor-neutralGitHub Actions, GitLab CI, or Tekton

Start with Pipeline Fundamentals for platform-agnostic concepts, then dive into the specific CI/CD platforms (GitHub Actions, GitLab CI), followed by deployment strategies, GitOps, and best practices.

  • Git Essentials — Clone, branch, PR workflow, revert, and tags for infra repos.
  • Pipeline Fundamentals — Stages, jobs, triggers, artifacts, caching, secrets, environments, and runners.
  • GitHub Actions — Workflows, triggers, marketplace, reusable workflows, matrix builds, OIDC, and self-hosted runners.
  • GitLab CI/CD.gitlab-ci.yml, runners, DAG pipelines, includes, environments, review apps, and Auto DevOps.
  • Deployment Strategies — Rolling, blue/green, canary, feature flags, and rollback patterns.
  • GitOps — Git as the source of truth for deployments with ArgoCD and Flux.
  • Best Practices — Pipeline design, security, testing strategy, branch strategies, and DORA metrics.
  • Security Scanning (DevSecOps) — SAST, SCA, container scanning, IaC scanning, secret detection, DAST, and SBOM.
  • Release Management — Semantic versioning, changelog automation, semantic-release, release-please, and package publishing.
  • Jenkins — Jenkinsfile pipelines, agents, plugins, shared libraries, and migration guidance.
  • Artifact Management — Container registries, image tagging, lifecycle policies, promotion, and vulnerability scanning.
  • Go for Ops — Tiny CLI with Go: modules, build, cross-compile, and when to use Go vs Bash or Python.
  • Compliance and Audit — Audit trails, separation of duties, signed commits, change management, and SOC 2/PCI/HIPAA mapping.

For CI/CD services tied to a specific cloud provider, see:

  • CI/CD on AWS — CodeBuild, CodeDeploy, CodePipeline, and GitHub Actions with AWS.
  • DevOps on Azure — Azure Pipelines, Azure Repos, and GitHub Actions with Azure.
  • CI catches bugs early by building and testing every change automatically.
  • CD (Delivery) keeps the app deployable; CD (Deployment) ships every passing change to production.
  • A typical pipeline: trigger -> build -> test -> security scan -> deploy staging -> approval -> deploy production.
  • GitHub Actions and GitLab CI are the two most popular Git-platform CI/CD systems — both covered in this section.
  • Cloud-specific CI/CD (AWS CodePipeline, Azure Pipelines) is covered in their respective topic sections.