A large enterprise is implementing a phased rollout strategy for its critical business application across multiple geographic regions. Each region (e.g., North America, Europe, Asia) has its own independent production environment. The deployment to each region must be manually approved by the regional operations manager, and then automatically proceed only if specific regional health checks (e.g., local database availability, regional CDN status) pass. The team wants to manage this within a single Azure DevOps release pipeline. How should the approval and gate configuration be designed?
- AUse a single stage with multiple pre-deployment approvals and link them to different regional managers.
- BCreate separate stages for each region, each with its own pre-deployment approval and pre-deployment gates.
- CConfigure a single pre-deployment approval for the entire pipeline and a single post-deployment gate.
- DImplement custom tasks to send approval emails and poll regional health APIs.
Show answer & explanationAnswer & explanation
Correct answer: B. Create separate stages for each region, each with its own pre-deployment approval and pre-deployment gates.
To manage region-specific approvals and health checks within a single release pipeline, the best practice is to define separate stages for each region. Each stage can then have its own distinct pre-deployment approvals (assigned to the regional manager) and pre-deployment gates (configured for regional health checks), ensuring granular control and sequential rollout.
Why the other options are wrong
- A. While a stage can have multiple approvals, this doesn't inherently allow for granular, region-specific automated gates or sequential deployment across regions.
- C. A single approval and gate for the entire pipeline wouldn't allow for region-specific control or sequential rollout.
- D. Implementing custom tasks for approvals and polling is a workaround that bypasses Azure DevOps' native, robust features for managing approvals and gates, leading to more complex and less maintainable pipelines.
Stage-Specific Approvals/Gates
In Azure DevOps release pipelines, pre-deployment and post-deployment approvals and gates can be configured for individual stages. This allows for fine-grained control over deployments, enabling specific manual sign-offs and automated health checks before or after a stage's execution.
- Enables granular control for multi-environment or multi-region deployments.
- Supports sequential execution with checks at each step.
- Essential for implementing complex release strategies with compliance and quality checks.
Memory trick: Each region has its own gatekeeper and health checks.