Skip to content

CI/CD

The platform uses Azure DevOps Pipelines for continuous integration and deployment. There are two main pipelines: the release pipeline for building and deploying to environments, and the PR pipeline for code quality validation.

All pipeline definitions live in the cicd/ directory at the repository root.

Pipeline Overview

What's Here

Release Pipeline

Triggers, parameters, environment selection, and stage ordering for the main build-and-deploy pipeline.

PR Pipeline

Code quality checks that run on every pull request: type checking, linting, unit tests, SonarQube, and Terraform validation.

Stages

Detailed reference for each pipeline stage: prepare, code_analysis, build, plan_release, and deploy.

Docker Builds

Docker build strategy, multi-stage Dockerfiles, BuildKit caching, Turbo remote cache integration, and CDN asset extraction.

Deployment

Terraform plan/apply flow, Azure Container Apps deployment, deployment verification, CDN asset uploads, and Storybook.

Environments

Environment configuration files, variable groups, service connections, and naming conventions.

Directory Structure

cicd/
├── release.yaml              # Release pipeline definition
├── pr.yaml                   # PR pipeline definition
├── templates/
│   ├── stages/               # Stage templates (prepare, build, deploy, etc.)
│   ├── jobs/                  # Job templates per app (build-web, build-api, etc.)
│   └── steps/                 # Reusable step templates (build-container, deploy, etc.)
├── vars/                      # Environment-specific variables (tst, acc, prd)
└── scripts/                   # Shell/PowerShell scripts used by pipeline tasks