To secure and control deployments, Azure DevOps uses YAML pipelines to enforce gates and approvals. Before these pipelines can deploy resources, they require a service connection to authenticate with Azure. This connection is created under project settings using an Azure Resource Manager connection type, which typically relies on an Automatic Service Principal for secure communication.
Environments define where code is deployed and apply specific policies based on the environment type. Administrators define these environment types, such as Sandbox, FunctionApp, or WebApp, at the dev center level and reference them at the project level. Each environment is linked to specific Azure subscriptions, identities, and permissions to establish clear security boundaries.
Pipelines use automated pre-deployment and post-deployment gates to validate the health and compliance of an application. These gates run inline scripts or execute tools within the pipeline steps to verify system status before moving to the next stage. For example, a pipeline might execute a script that checks a web endpoint's health state, failing the deployment if the response is not Healthy.
Beyond automated checks, pipelines often require manual intervention to ensure organizational compliance. Teams can configure manual reviewers within the environment's checks and approval policies, halting the deployment until designated users sign off. This creates a control boundary where code cannot flow to sensitive environments without explicit, logged approval from authorized stakeholders.
Seeking the thrill of transformative tech? Explore the art of designing and implementing DevOps solutions on Azure. Master the shift towards CI/CD, testing, and delivery, while preparing for the Designing and Implementing Microsoft DevOps Solutions exam!
Prepare and test your skills

Prepare and test your skills

A service connection authenticates the Azure DevOps YAML pipeline with Azure so it can deploy resources, and it is created using an Azure Resource Manager connection type that typically relies on an Automatic Service Principal for secure communication.
Environment types, such as Sandbox, FunctionApp, or WebApp, are defined by administrators at the dev center level and referenced at the project level, with each environment linked to specific Azure subscriptions, identities, and permissions to establish clear security boundaries.
Automated gates run inline scripts or tools within pipeline steps to validate health and compliance before moving to the next stage, while manual approvals halt the deployment until designated users sign off, creating a control boundary for sensitive environments.