Back to Blog
1 min read

Azure Pipelines Improvements

Azure Pipelines offers powerful CI/CD capabilities with YAML-based pipeline definitions. This post covers advanced features and improvements for building robust pipelines.

Advanced Pipeline Features

# Template for reusable steps
# templates/build-steps.yml
parameters:
  - name: buildConfiguration
    default: 'Release'
  - name: dotnetVersion
    default: '7.0.x'

steps:
  - task: UseDotNet@2
    inputs:
      version: ${{ parameters.dotnetVersion }}

  - task: DotNetCoreCLI@2
    displayName: 'Restore'
    inputs:
      command: restore

  - task: DotNetCoreCLI@2
    displayName: 'Build'
    inputs:
      command: build
      arguments: '--configuration ${{ parameters.buildConfiguration }}'
# Main pipeline using templates
trigger: [main]

stages:
  - stage: Build
    jobs:
      - job: BuildJob
        pool:
          vmImage: 'ubuntu-latest'
        steps:
          - template: templates/build-steps.yml
            parameters:
              buildConfiguration: 'Release'

  - stage: Deploy
    dependsOn: Build
    jobs:
      - deployment: DeployWeb
        environment: 'production'
        strategy:
          runOnce:
            deploy:
              steps:
                - task: AzureWebApp@1
                  inputs:
                    azureSubscription: 'AzureConnection'
                    appName: 'mywebapp'

Azure Pipelines templates and stages enable maintainable, scalable CI/CD implementations.

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.