GMI · TECHNOLOGY OBSERVATORY // ALL SYSTEMS NOMINAL
ENGINEERED BY LEOPARD DATA

CI/CD Process

Azure DevOps pipelines providing automated testing, building, and deployment.

PIPELINE STAGES
rendering diagram…
flowchart LR
    subgraph TRIGGER[Triggers]
        PUSH[Push to<br/>master - develop]:::app
        PR[Pull Request]:::app
        SCHED[Scheduled Build]:::ext
    end

    subgraph BUILD[Build Stage]
        COMPILE[Compile .NET<br/>32 projects]:::svc
        UNIT[Unit Tests<br/>90 pct coverage]:::svc
        ARTIFACT[Create<br/>Artifacts]:::svc
    end

    subgraph DEPLOY_DEV[Deploy to Dev]
        SLOT_D[Staging Slot<br/>Swap]:::data
        SMOKE_D[Health<br/>Checks]:::data
    end

    subgraph DEPLOY_PROD[Deploy to Production]
        SLOT_P[Blue-Green<br/>Slot Swap]:::sec
        SMOKE_P[Smoke Tests]:::sec
        VM[Console Apps<br/>Linux VM]:::sec
    end

    TRIGGER --> COMPILE
    COMPILE --> UNIT
    UNIT --> ARTIFACT
    ARTIFACT --> SLOT_D
    SLOT_D --> SMOKE_D
    SMOKE_D --> SLOT_P
    SLOT_P --> SMOKE_P
    SLOT_P --> VM

    classDef app fill:#1f2630,stroke:#C0894E,color:#F3EFE8;
    classDef svc fill:#241c14,stroke:#E2B583,color:#F3EFE8;
    classDef data fill:#22201a,stroke:#C0894E,color:#EBD3AE;
    classDef ext fill:#1b1f27,stroke:#5A616B,color:#C4C0B8;
    classDef sec fill:#1d2733,stroke:#5cc8e0,color:#eafaff;
Azure DevOps pipeline from code push through build, test, and staged deployment to production.

Pipeline Overview

The Grade My Investments platform uses a comprehensive CI/CD pipeline with multiple stages:

Build Stage

Compiles all .NET projects, runs unit tests, and creates deployment artifacts

Test Stage

Executes comprehensive test suites including unit, integration, and UI tests

Deploy to Development

Automatic deployment to development environment for validation

Deploy to Production

Controlled release to production with blue-green deployment strategy

Pipeline Components

Component Technology Deployment Target Strategy
Client Web App Blazor Server Azure App Service Staging slots
Admin Web App Blazor Server Azure App Service Staging slots
Technology Web App Blazor Server Azure App Service Staging slots
Azure Functions .NET 10 Isolated Function App Blue-green
Console Apps .NET 10 Linux VM Direct deployment

Quality Gates

Automated Testing
  • Unit Tests (90%+ coverage)
  • Integration Tests
  • API Contract Tests
  • Security Scans
Code Quality
  • Code review required
  • Static analysis
  • Vulnerability scanning
  • Performance testing

Deployment Features

Blue-Green

Zero-downtime deployments with instant rollback capability

Staging Slots

Pre-production validation with traffic warming

Health Checks

Automated smoke tests and service validation

Azure DevOps Pipeline Runs

The Grade My Investments CI/CD pipeline runs continuously throughout the day, processing code changes and deployments. Below is a snapshot of recent pipeline executions showing the automated build and deployment process in action:

Azure DevOps Pipeline Runs
Pipeline Run Dashboard

This dashboard shows:

  • Pipeline Status: Success/failure indicators for each run with color-coded status badges
  • Commit Information: Associated git commits and pull requests that triggered each build
  • Execution Time: Duration of each pipeline run for performance monitoring
  • Branch Tracking: Which branch (master/develop) the deployment originated from
  • Deployment Stages: Progress through build, test, and deployment phases

Azure DevOps Library Variables

Grade My Investments uses Azure DevOps Library for secure configuration management. Variables are organized into groups for different environments and services, ensuring consistent and secure deployments:

Azure DevOps Library Variables
Secure Configuration Management

The Library Variables system provides:

  • Environment-Specific Variables: Separate configuration for Development, Staging, and Production
  • Secret Management: Secure storage of connection strings, API keys, and credentials
  • Variable Groups: Organized sets of related configuration values
  • Access Control: Role-based permissions for viewing and modifying sensitive values
  • Audit Trail: Complete history of all configuration changes
  • Pipeline Integration: Seamless injection of variables during build and release
Source Control
  • Azure DevOps Repos
  • Git flow branching
  • Pull request policies
  • Branch protection
Triggers
  • Push to master/develop
  • Pull requests
  • Scheduled builds
  • Manual triggers
Notifications
  • Email alerts
  • Teams integration
  • Webhook callbacks
  • Deployment reports
Tools & Services
  • Azure DevOps
  • Azure App Service
  • Azure Functions
  • Azure Storage
  • Application Insights