Microsoft Certified: DevOps Engineer ExpertDesign and implement source controlHard
A company uses Azure DevOps to manage its software development lifecycle. They need to integrate their Azure DevOps pipelines with an external, on-premises quality gate system. This system performs static code analysis and security scans and must approve a build before it can proceed to deployment. How should they integrate the external system to pause the pipeline and await approval?
- AImplement an 'Invoke Azure Function' task to call the external system.
- BDefine an Approval and Checks on the environment or resource the pipeline targets.
- CConfigure a Service Hook to trigger the external system.
- DUse a REST API call within the pipeline to query the external system's status.
Show answer & explanationAnswer & explanation
Correct answer: B. Define an Approval and Checks on the environment or resource the pipeline targets.
Approvals and Checks on environments or resources are specifically designed to pause pipeline execution until external conditions are met or manual approvals are granted. This allows the external quality gate system to signal its approval (or rejection) via an API, which Azure DevOps then processes before proceeding.
Why the other options are wrong
- A. Invoking an Azure Function can act as a proxy but doesn't inherently provide the 'pause and wait for approval' mechanism required for a quality gate.
- C. Service Hooks notify external systems but don't pause pipeline execution awaiting a response.
- D. A REST API call can send data, but pausing the pipeline and waiting for an external system's approval natively is best handled by Approvals and Checks.
Azure DevOps Approvals and Checks
Mechanisms in Azure DevOps pipelines that require certain conditions (manual approval, external system validation, etc.) to be met before a stage or job can start executing on a protected resource or environment.
- Ensures compliance and quality gates.
- Can integrate with external systems via REST APIs.
- Applied to environments, service connections, agent pools, or variable groups.
Memory trick: To cross the gate, you need a checkmark and approval.