Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesMedium
A company is migrating its monolithic application to a microservices architecture. Each microservice has its own Git repository and build pipeline in Azure DevOps. The company wants to implement a release strategy where a new version of the 'Order Processing' microservice is automatically deployed to the 'Development' environment whenever a successful build of that microservice completes. However, deployments to 'Staging' and 'Production' environments must be manually triggered. Which release pipeline trigger configuration should be used for the 'Order Processing' microservice?
- AUse a 'Scheduled release' trigger for 'Development' and 'Manual only' for other stages.
- BDisable all triggers and manually initiate every release.
- CConfigure a 'Continuous deployment' trigger for the 'Development' stage and 'Manual only' triggers for 'Staging' and 'Production'.
- DSet up a 'Continuous deployment' trigger on the build for all stages.
Show answer & explanationAnswer & explanation
Correct answer: C. Configure a 'Continuous deployment' trigger for the 'Development' stage and 'Manual only' triggers for 'Staging' and 'Production'.
A Continuous deployment trigger linked to the build pipeline ensures that a new release starts automatically for the 'Development' stage upon a successful build. Setting 'Manual only' triggers for 'Staging' and 'Production' allows human intervention before deploying to those critical environments, aligning with the requirements.
Why the other options are wrong
- A. A 'Scheduled release' trigger deploys at specific times, not immediately after a successful build, and doesn't fit the 'automatically deployed whenever a successful build' requirement for Development.
- B. Disabling all triggers would mean even the Development environment needs manual initiation, which contradicts the requirement for automatic deployment to Development.
- D. This would automatically deploy to all stages, including Staging and Production, which contradicts the requirement for manual triggers for those environments.
Release Triggers (Azure DevOps)
Mechanisms in Azure DevOps release pipelines that define when a new release should be created and deployed to a specific stage.
- Continuous deployment triggers automatically start a release upon a successful build.
- Scheduled release triggers start releases at specific times.
- Manual only triggers require explicit human initiation.
Memory trick: Dev is automatic, Staging/Prod needs a human touch.