7 Complex deployments using Azure DevOps

 

This chapter covers

  • The basics of Azure DevOps pipelines
  • Creating and understanding service connections
  • Writing and maintaining Azure DevOps pipelines
  • Deploying infrastructure to the cloud using Azure DevOps pipelines

In previous chapters, you’ve learned a lot about the Azure Resource Manager, ARM templates, and Bicep. You’ve used different tools, like PowerShell and the Azure CLI, to interact with ARM. And you have used those tools to deploy templates to Azure manually. By deploying manually, however, there are no enforcements, checks, or policies in place to control the quality of the Bicep templates. Mistakes can easily be made, and this would allow developers to potentially break the production environment.

Also, working manually with the CLI means that someone needs to log in to Azure to deploy a template. That means at least one person has enough permissions on the production environment to potentially break it, and it would be best if that were not the case.

So far, you’ve probably stored all the templates you created while reading this book on your local system, and you’ve deployed them from there. If developers in a real company working on the same infrastructure were to do that, copying files back and forth, they would risk overwriting newer versions of files with older versions. It is safer to use a version control system.

7.1 Meet Toma Toe Pizzas

7.2 Crafting the Bicep files

7.2.1 Describing the App Service plan

7.2.2 Describing the App Service

7.2.3 Finalizing the template

7.3 Storing templates in source control

7.4 Automated build and release pipelines

7.4.1 Using triggers

7.4.2 Creating tasks

7.4.3 Grouping tasks in a job

7.4.4 Creating service connections

7.4.5 Configuring Azure DevOps to run your pipeline

7.5 Adding logical phases to your pipeline