azure-release-pipeline

ntaksh42's avatarfrom ntaksh42

Design Azure release pipelines with deployment strategies and rollback. Use when creating release automation or deployment strategies.

⭐0stars🔀1forks📁View on GitHub🕐Updated Dec 20, 2025

When & Why to Use This Skill

This Claude skill empowers developers and DevOps engineers to design, build, and optimize Azure release pipelines. It streamlines the creation of automated deployment workflows, supporting multi-environment management (Dev, Staging, Production), manual approval gates, and sophisticated deployment strategies like Blue-Green and Rolling updates. By integrating automated rollback capabilities and health-check gates, it ensures reliable and resilient software delivery within the Azure ecosystem.

Use Cases

  • Scenario 1: Designing a multi-stage CI/CD pipeline in Azure DevOps that requires manual stakeholder approval before promoting code from Staging to Production.
  • Scenario 2: Implementing a Blue-Green deployment strategy for Azure Web Apps to minimize downtime and provide a safe environment for final testing.
  • Scenario 3: Setting up automated deployment gates that monitor application health via REST APIs and trigger immediate rollbacks if performance metrics fail.
  • Scenario 4: Generating standardized YAML configurations for release pipelines to maintain Infrastructure as Code (IaC) best practices across different projects.
nameazure-release-pipeline
descriptionDesign Azure release pipelines with deployment strategies and rollback. Use when creating release automation or deployment strategies.

Azure Release Pipeline Skill

Azure Releaseパイプラインを構築するスキルです。

主な機能

  • 環境管理: Dev、Staging、Production
  • 承認フロー: 手動承認ゲート
  • デプロイ戦略: Blue-Green、Rolling
  • ロールバック: 自動・手動ロールバック

Classic Release Pipeline (YAML代替)

# 環境デプロイ with approvals
stages:
  - stage: Deploy_Staging
    jobs:
      - deployment: DeployStaging
        environment: Staging
        strategy:
          runOnce:
            deploy:
              steps:
                - task: AzureWebApp@1
                  inputs:
                    azureSubscription: 'Azure-Connection'
                    appName: 'myapp-staging'
                    package: '$(Pipeline.Workspace)/drop'

  - stage: Approval
    dependsOn: Deploy_Staging
    jobs:
      - job: WaitForValidation
        pool: server
        steps:
          - task: ManualValidation@0
            timeoutInMinutes: 1440
            inputs:
              notifyUsers: 'approvers@example.com'
              instructions: 'Please validate staging and approve'

  - stage: Deploy_Production
    dependsOn: Approval
    jobs:
      - deployment: DeployProduction
        environment: Production
        strategy:
          runOnce:
            deploy:
              steps:
                - task: AzureWebApp@1
                  inputs:
                    azureSubscription: 'Azure-Connection'
                    appName: 'myapp-prod'
                    package: '$(Pipeline.Workspace)/drop'

デプロイゲート

# Time-based gate
gates:
  - task: InvokeRESTAPI@1
    inputs:
      connectionType: 'connectedServiceName'
      method: 'GET'
      urlSuffix: '/health'
      waitForCompletion: 'true'
      successCriteria: 'eq(root.status, "healthy")'

バージョン情報

  • Version: 1.0.0