0Pricing
Cloud & IT Cert Prep · Lesson

Azure DevOps Services Overview

Tour the five Azure DevOps services, create an organisation and project, and connect your code repository to begin tracking work items and commits together.

Azure DevOps Services Overview is a free Cloud & IT Cert Prep lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cloud & IT Cert Prep learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What Is Azure DevOps?

Azure DevOps is a cloud-hosted suite of developer tools from Microsoft that covers the full software delivery lifecycle. It combines project management, source control, build and release automation, test management, and artifact storage into one integrated platform. Teams using Azure DevOps can plan sprints, commit code, run automated builds, deploy to production, and track quality metrics — all from a single service with deep integrations to other Azure services.

The Five Azure DevOps Services

Azure DevOps comprises five services: Azure Boards (Agile work item tracking — epics, stories, tasks, bugs), Azure Repos (unlimited Git repositories or legacy TFVC), Azure Pipelines (CI/CD automation for any language, platform, and cloud), Azure Test Plans (manual and exploratory testing, test cases, and quality metrics), and Azure Artifacts (universal package feed for NuGet, npm, Maven, Python, and container images).

Organisations and Projects

The Azure DevOps hierarchy starts with an organisation — the top-level container associated with your Azure AD tenant, typically named after your company. Inside an organisation you create projects, each representing a software product or team. Each project gets its own Boards, Repos, Pipelines, Test Plans, and Artifacts. Access control, billing, and settings are configured at the organisation level but can be overridden per project.

# Create an Azure DevOps project via CLI
# First install the Azure DevOps extension
az extension add --name azure-devops

# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/myorg

# Create a new project
az devops project create \
  --name MyProject \
  --description 'E-commerce platform' \
  --visibility private \
  --process Agile

Azure Boards: Agile Planning

Azure Boards supports three process templates: Basic (simple Issues and Tasks), Agile (Epics, Features, User Stories, Tasks, Bugs), and Scrum (Epics, Features, Product Backlog Items, Tasks, Bugs). Work items flow through configurable states. The Kanban board visualises in-progress work; sprint backlogs plan capacity; backlogs prioritise all unstarted work. Link work items to commits, pull requests, and test cases for full traceability.

# Create a work item (User Story) via CLI
az boards work-item create \
  --title 'Add payment processing' \
  --type 'User Story' \
  --description 'As a customer I want to pay by credit card' \
  --assigned-to developer@contoso.com \
  --project MyProject

# List open work items
az boards work-item list \
  --project MyProject \
  --query "[?fields.\"System.State\"=='Active']"

Azure Repos: Source Control

Azure Repos provides unlimited private Git repositories with branch policies, pull request workflows, and code review tools. Branch policies enforce quality gates on protected branches — requiring minimum reviewers, passing build validation, linked work items, and comment resolution before merging. Each repository integrates directly with Azure Pipelines, triggering builds and deployments automatically on branch push or pull request.

# Clone an Azure Repos Git repository
git clone https://myorg@dev.azure.com/myorg/MyProject/_git/MyRepo

# Set branch policies via CLI
az repos policy required-reviewer create \
  --branch main \
  --branch-match-type exact \
  --project MyProject \
  --repository-id <repo-id> \
  --blocking true \
  --enabled true \
  --minimum-approver-count 2 \
  --allow-downvotes false

Azure Pipelines: CI/CD Automation

Azure Pipelines is a CI/CD service that builds, tests, and deploys applications written in any language to any platform — Azure, AWS, GCP, on-premises. Pipelines are defined in YAML files stored alongside code in the repository. Key concepts include stages (logical phases like Build, Test, Deploy), jobs (parallel execution units), and steps (individual tasks). Azure Pipelines provides 1,800 free build minutes per month for open-source projects.

# azure-pipelines.yml (minimal CI pipeline)
trigger:
  branches:
    include:
    - main

pool:
  vmImage: ubuntu-latest

stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - task: NodeTool@0
      inputs:
        versionSpec: '18.x'
    - script: npm install && npm run build
      displayName: 'Install and Build'
    - script: npm test
      displayName: 'Run unit tests'

Azure Artifacts: Package Management

Azure Artifacts hosts versioned package feeds for NuGet (.NET), npm (Node.js), Maven (Java), pip (Python), and Universal Packages (arbitrary binaries). Share internal libraries between projects or teams without publishing to public registries. Upstream sources proxy public registries (npmjs.com, nuget.org) through your feed, giving you a single endpoint for all packages and the ability to audit and cache dependencies.

# Publish an npm package to Azure Artifacts
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc

# .npmrc file:
# registry=https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

# Publish
npm publish --registry https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

Pipeline Agents: Microsoft vs Self-Hosted

Pipelines run on agents — VMs or containers that execute pipeline jobs. Microsoft-hosted agents are fully managed, pre-configured VMs (Ubuntu, Windows, macOS) provided by Microsoft — no setup required. Self-hosted agents run on your own infrastructure (on-premises or Azure VMs), giving you control over the environment, pre-installed tools, and access to private networks. Use self-hosted agents when builds need VNet access, specialised hardware, or faster startup than cloud VMs provide.

# Register a self-hosted agent on a Linux VM
# 1. Download the agent package
curl -O https://vstsagentpackage.azureedge.net/agent/3.x/vsts-agent-linux-x64-3.x.x.tar.gz
mkdir myagent && tar xzf vsts-agent-linux-x64-3.x.x.tar.gz -C myagent && cd myagent

# 2. Configure the agent
./config.sh --url https://dev.azure.com/myorg --auth pat --token <PAT>

# 3. Run as a service
sudo ./svc.sh install && sudo ./svc.sh start

Environments and Approvals

Environments in Azure Pipelines represent deployment targets (Dev, Staging, Production) and track deployment history. You can attach approval and check gates to environments — a deployment to Production requires manual sign-off from a release manager. Other checks include business hours gates (only deploy between 09:00-17:00), wait timers, and Azure Monitor alert checks (don't deploy if there are active critical alerts). This gives teams governance over high-risk production deployments.

# YAML: deployment job targeting an environment with approval
- stage: DeployProd
  jobs:
  - deployment: DeployToProduction
    environment:
      name: Production       # Requires manual approval in Azure DevOps portal
      resourceType: VirtualMachine
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            inputs:
              appName: myapp-prod
              package: '$(Pipeline.Workspace)/drop/app.zip'

Service Connections

Service connections store authenticated connections to external services (Azure subscriptions, GitHub, Docker Hub, SonarQube, Kubernetes clusters) so pipelines can use them without embedding credentials in YAML. The Azure Resource Manager service connection uses a service principal or managed identity to deploy Azure resources. All credentials are encrypted and scoped to the project or pipeline, preventing credential exposure in pipeline logs.

# Create an Azure Resource Manager service connection via CLI
az devops service-endpoint azurerm create \
  --azure-rm-service-principal-id '<AppId>' \
  --azure-rm-subscription-id '<SubId>' \
  --azure-rm-subscription-name 'MySubscription' \
  --azure-rm-tenant-id '<TenantId>' \
  --name 'AzureProductionSC' \
  --project MyProject

# Use in pipeline YAML
# - task: AzureCLI@2
#   inputs:
#     azureSubscription: 'AzureProductionSC'
#     scriptType: bash
#     scriptLocation: inlineScript

Azure DevOps vs GitHub

Microsoft owns both Azure DevOps and GitHub, and both support CI/CD. Azure DevOps is preferred in enterprises deeply invested in Microsoft tools, needing Azure Boards, Test Plans, or Artifacts. GitHub is preferred for open-source projects, developer-centric workflows, and when teams already use GitHub repositories. GitHub Actions is GitHub's CI/CD platform. Azure Pipelines integrates with both Azure Repos and GitHub — you can use Azure Boards and Artifacts with GitHub repositories.

Quick Check

Test your understanding of Microsoft Azure Fundamentals (AZ-900) concepts from this lesson.

Lesson Recap

In this lesson you learned: Azure DevOps provides five integrated services covering planning (Boards), source control (Repos), CI/CD (Pipelines), testing (Test Plans), and package management (Artifacts), environments with approvals gate high-risk deployments, and service connections securely store external service credentials for pipeline use. Next up we explore building a CI pipeline with Azure Pipelines.

Frequently asked questions

Is the “Azure DevOps Services Overview” lesson free?

Yes — the full text of “Azure DevOps Services Overview” is free to read here on the web, and the Cloud & IT Cert Prep course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cloud & IT Cert Prep course, upgrade to CoddyKit PRO.

What will I learn in “Azure DevOps Services Overview”?

Tour the five Azure DevOps services, create an organisation and project, and connect your code repository to begin tracking work items and commits together. You practise Cloud & IT Cert Prep with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Cloud & IT Cert Prep?

No prior experience is required. Cloud & IT Cert Prep on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Azure DevOps Services Overview” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Cloud & IT Cert Prep lesson?

Yes. Every Cloud & IT Cert Prep lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Azure DevOps Services Overview
  2. Building a CI Pipeline with Azure Pipelines
  3. Continuous Deployment to Azure
  4. GitHub Actions on Azure
← Back to Cloud & IT Cert Prep