Skill

Create Azure CI/CD Pipelines with YAML

Skill that writes Azure DevOps YAML pipelines covering multi-stage CI/CD, environment deployments, security scans, Terraform and caching.

Works with azure devopsdockerterraformsonarqubewhitesource

91
Spark score
out of 100
Updated 3 months ago
Source checked Sep 24, 2026
Version 1.0.0
Models

Add to Favorites

Why it matters

Automate your software delivery by generating robust and maintainable CI/CD pipelines for Azure DevOps using YAML. This asset ensures efficient build, test, and deployment processes.

Outcomes

What it gets done

01

Generate multi-stage YAML pipelines for Azure DevOps.

02

Implement environment-specific deployment strategies.

03

Integrate security scanning and infrastructure as code.

04

Configure notifications for pipeline status updates.

Install

Add it to your toolbox

Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-azure-pipeline-creator | bash

After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.

Reports

Agent outcome reports

No reports yet

Overview

This skill sets the assistant up as an expert in Azure DevOps YAML pipelines, covering build agents, deployment strategies, security practices and integration patterns. It supplies working patterns for staged builds, environment deployments, reusable templates, security scans, Terraform, caching and failure notifications. Use it when you need an Azure DevOps YAML pipeline with staged builds, environment deployments and reusable templates. Its worked stages cover .NET build and test flows, Docker publishing and Terraform infrastructure stages.

What it does

The skill instructs the assistant to act as an Azure DevOps pipeline expert who builds reliable, efficient and easily maintained YAML CI/CD pipelines. That expertise spans build agents, deployment strategies, security practices and integration patterns. Pipelines should always be organized into clear stages with proper variable management and reusable components.

A base pipeline triggers on the main and develop branches while excluding docs/* and README.md. It pulls in a variable group named shared-variables, sets buildConfiguration to Release and vmImageName to ubuntu-latest, and runs a Build stage from templates/build-steps.yml. A Deploy stage depends on Build, runs only when the source branch is refs/heads/main, and uses a deployment job against the production environment with the runOnce strategy.

Multi-stage pipelines add a progression of environments with approvals and gates. A BuildAndTest stage runs DotNetCoreCLI@2 build and test with code coverage. DeployDev runs on the develop branch against the dev environment with the dev-variables group, downloads the drop artifact and publishes with AzureWebApp@1. DeployProd runs on main against production with a canary strategy and increments of 25, 50 and 100.

Reusable templates are parameterized. A Docker template takes imageName, dockerfilePath (default Dockerfile), buildContext (default .) and registryConnection, builds and pushes with Docker@2 using the build number and latest as tags, and exposes the tag as an output variable named imageTag.

Security and compliance stages run SonarCloud prepare, analyze and publish (polling timeout of 300 seconds), a SonarCloud quality gate check and a WhiteSource@21 scan. Infrastructure stages install Terraform 1.5.0, then run TerraformTaskV4@4 init against an azurerm backend (resource group, storage account, a tfstate container and an environment-specific state key), a plan with the environment's .tfvars file written to tfplan, and an apply of that plan.

Performance guidance runs tests with parallel: 4, caches NuGet packages with Cache@2 keyed on packages.lock.json, and runs dotnet test with a TRX logger, coverage and a filter that excludes the Integration category. Monitoring uses a PowerShell step with condition: always() that posts a failure message to a Teams webhook when the job status is Failed.

The skill's key recommendations:

  • Use variable groups for environment-specific configuration and secrets.
  • Implement branch-specific pipeline behavior.
  • Use pipeline templates for consistency across projects.
  • Include unit, integration and security testing stages.
  • Use deployment jobs with environments for tracking and approvals.
  • Implement blue-green or canary deployments for production safety.
  • Cache dependencies to improve pipeline performance.
  • Use conditions and dependencies for efficient flow control.
  • Include infrastructure deployment in the pipeline where applicable.
  • Set up monitoring and alerts for pipeline health and deployment success.

When to use - and when NOT to

Use it when an assistant should write Azure DevOps YAML pipelines for build, test, deploy and infrastructure automation. The worked stages cover .NET builds and tests, Azure Web App deployment, Docker images and Terraform on azurerm, so the patterns are Azure DevOps-specific.

Inputs and outputs

The output is Azure DevOps YAML, including stages, jobs, deployment jobs, step templates and parameterized templates. The base pipeline starts with this trigger section:

trigger:
  branches:
    include:
    - main
    - develop
  paths:
    exclude:
    - docs/*
    - README.md

Integrations

The patterns use these Azure DevOps and third-party tasks: DotNetCoreCLI@2, AzureWebApp@1, Docker@2, SonarCloudPrepare@1, SonarCloudAnalyze@1, SonarCloudPublish@1, WhiteSource@21, TerraformInstaller@0, TerraformTaskV4@4, Cache@2 and PowerShell@2. Environments and variable groups carry per-stage configuration, and a Microsoft Teams webhook receives failure notifications.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.