Using an Azure DevOps CI/CD solution with Azure App Services

Munib ButtSenior .NET/Azure Developer/Analyst Consultant
CERTIFIED EXPERT
Senior technical systems architect/ analyst and developer/mentor with over 30 years’ experience (20+ years in Canada)
Published:
Today, we will look into a CI/CD pipeline solution. We will look at the process from logging a task to coding and then building and deploying to the destination application. We will be looking at Azure DevOps as the platform for all this process .
Reference diagram
 
 
We will start with the diagram provided by Microsoft. Details are available at the Microsoft website below:

https://learn.microsoft.com/en-us/azure/architecture/solution-ideas/articles/azure-devops-continuous-integration-and-continuous-deployment-for-azure-web-apps



Components of the design

The diagram starts with the Engineer. This can be the DevOps engineer, Scrum Master, or a developer. All tasks and issues are stored in the Azure DevOps Backlog.  This is a list of all new features, bugs, enhancements etc. that need to be worked on by the team.

Other solutions for this include the JIRA platform which is used to store and track issues. The code for the application is taken from the Azure Repo which is mostly a Git repository and worked on by the developer.

Once, the fix is complete the code is saved back to the repository, mostly in the respective branch created for the particular task.

Once, the code is merged back into the main branch, it automatically triggers a build in the Azure DevOps build pipeline. This process can also be manually triggered, if required.

Once, the build process is complete which could include tests as well, the code is deployed to the Azure App service via the Azure DevOps release pipeline.

This process can also be triggered manually or automatically depending upon the requirement.  The code is mostly deployed into a testing or UAT slot. Here, the changes are tested and if all looks good, the slot is swapped with the production slot and the changes are ready for use in production.

It is always a good idea to setup monitoring of our application using Application Insights. From here, we can collect real time data on the usage, performance, and any issues on our application. Once these are collected, we can record them back into our Azure DevOps Backlog and start the process all over again. This process is mostly run in Agile sprints where a certain number of tasks are assigned to developers for a certain amount of time e.g., two, four weeks and this is known as the sprint cycle.

 

Summary
 

In today’s article, we looked at how we can design a CI/CD pipeline solution for our application deployed in Microsoft Azure using Azure DevOps. Other alternatives are available like GitHub actions etc. However, my recommendation is to use the complete Microsoft stack and use Azure DevOps for an Azure application.

1
693 Views
Munib ButtSenior .NET/Azure Developer/Analyst Consultant
CERTIFIED EXPERT
Senior technical systems architect/ analyst and developer/mentor with over 30 years’ experience (20+ years in Canada)

Comments (1)

Munib ButtSenior .NET/Azure Developer/Analyst Consultant
CERTIFIED EXPERT
Author of the Year 2023
Awarded 2022

Author

Commented:
Thanks David.

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.