Skip to content

.NET CI/CD with Azure App Service

Level:Intermediate
Time:30-60 min
Cost:medium
Works locally:No
Cloud creds:Yes
Cleanup:No
Reviewed:2026-05-30
Validation:test -f README.md

Modernized notes for Azure App Service deployment path.

Outcome Architecture notes plus validation output
Tools used .NET, Azure DevOps, Azure App Service, Azure
Best fit Intermediate - 30-60 min
Student workstation Repository files CI/CD pipeline AZURE account Validation proof
  • Install or review: .NET, Azure DevOps, Azure App Service, Azure.
  • Use your own cloud account credentials and keep them out of commits.
  • This project expects cloud resources, so verify budget alerts and cleanup first.
  • Open the safety guide before running commands that create infrastructure.
Cost and credential stance

Cost risk is medium. Cloud target: AZURE. Cloud credentials needed: Yes. Always use your own account, never commit secrets, and confirm cleanup before creating paid infrastructure.

Use this flow before you run commands:

  1. Read the cost and credential warning above.
  2. Review the validation, troubleshooting, cleanup, and portfolio proof sections below.
  3. Follow the original project guide preserved near the bottom of this page.
  4. Return to the validation and cleanup checks before you capture portfolio evidence.

Run the project validation command before and after meaningful changes:

Terminal window
test -f README.md
  • Run test -f README.md first so local tooling issues are visible early.
  • If a command fails, check tool versions, working directory, and required environment variables.
  • For cloud failures, confirm account identity, region, quotas, and least-privilege IAM.
  • For pipeline failures, check repository secrets, runner permissions, and pinned action versions.

No dedicated cleanup command was detected in the project README. Treat this as a warning: before provisioning anything, write down the exact delete, destroy, or rollback steps for your environment.

  • Validation command output: test -f README.md
  • Screenshot or terminal proof: Architecture notes plus validation output
  • Notes explaining what changed, what failed, and how you fixed it
  • Cleanup evidence, especially for cloud or Kubernetes resources

The original README content is preserved here for lab-specific commands and context. Headings are intentionally demoted so the page outline stays focused on the standard lab flow.

External image reference devops

[!WARNING] 2026 App Service Update: Microsoft has officially retired the “Azure DevOps Starter” experience from the Azure Portal. The modern equivalent method to achieve this exact CI/CD pipeline is to manually create an Azure App Service, navigate to its Deployment Center blade, and link your Azure DevOps repository there. The concepts in this lab remain the same, but the initial GUI scaffolding method has changed.

🛡️ 2026 DevSecOps Pipeline Enhancements
Section titled “🛡️ 2026 DevSecOps Pipeline Enhancements”

While the initial scaffolding method has changed, the underlying Azure DevOps pipelines remain structurally relevant. Make note of:

  1. GitHub Actions vs Azure DevOps: While this project uses Azure Pipelines, note that GitHub Actions encompasses the modern standard for this workload.
  2. Infrastructure as Code: A true 2026 deployment would use Terraform/Bicep integrated into the pipeline to provision the WebApp, rather than relying on UI wizards.

The DevOps Starter Project simplifies the setup of an entire continuous integration (CI) and continuous delivery (CD) pipeline to Azure with Azure DevOps. You can start with existing code or use one of the provided sample applications. Then you can quickly deploy that application to various Azure services such as Virtual Machines, App Service, Azure Kubernetes Services (AKS), Azure SQL Database and Azure Service Fabric.

DevOps Projects does all the work for the initial configuration of a DevOps pipeline including everything from setting up the initial Git repository, configuring the CI/CD pipeline, creating an Application Insights resource for monitoring, and providing a single view of the entire solution with the creation of a DevOps Projects dashboard in the Azure portal.

In this lab, you will

  • Create an ASP.NET sample DevOps project using DevOps Starter feature in Azure
  • Examine the CI/CD pipelines configured by DevOps Starter
  • Commit the code changes and execute CI/CD
  • Configure Azure Application Insights monitoring
  1. Microsoft Azure Account: You will need a valid and active Azure account for the Azure labs. If you do not have one, you can sign up for a free trial

    • If you are a Visual Studio Active Subscriber, you are entitled for a $50-$150 credit per month. You can refer to this link to find out more including how to activate and start using your monthly Azure credit.

    • If you are not a Visual Studio Subscriber, you can sign up for the FREE Visual Studio Dev Essentialsprogram to create Azure free account (includes 1 year of free services, $200 for 1st month).

  2. You will need an Azure DevOps account. If you do not have one, you can sign up for free here.

Exercise 1: Setting up a sample ASP.NET project using DevOps Starter Project
Section titled “Exercise 1: Setting up a sample ASP.NET project using DevOps Starter Project”
  1. Sign into the Microsoft Azure portal.

  2. In the search box, type DevOps , and then select DevOps Starter. Then click on Create DevOps Starter

External image reference searchdevopsproject
External image reference createdevopsproject
  1. By default DevOps Starter project setup with GitHub. Click on change settings here to change the destination to Azure DevOps and click Done
External image reference Source image
  1. Now select the .NET sample application and click Next.
External image reference selectdotnet
  1. The .NET samples include a choice of either the open source ASP.NET framework or the cross-platform .NET Core framework. Select the .NET Core application framework. This sample is an ASP.NET Core MVC application. And also enable Add a database toggle to add the database to the application. When you’re done, choose Next.
External image reference aspnetframework
  1. Web App on Windows is the default deployment target. You can optionally choose Virtual Machine also. When you’re done, choose Next.
External image reference selectwebapp
  1. Select your Azure DevOps organization and choose a name for your project and Web app. When you’re done, choose Review + Create.
External image reference vstsproject

You can click on Additional Settings if you would like to edit web app and database parameters

External image reference vstsproject
  1. Once the deployment completes, click Go to resource.
External image reference gotoresource
  1. DevOps project dashboard loads as shown in below image.
External image reference dashboard

DevOps project

  • Created a team project with sample .NET code repository

  • Created a build and release pipelines to compile, test and deploy the application

  • Created Azure Web App and Azure SQL database in Azure using Azure Pipelines

    If Azure Resources are not created, they will be created by CI/CD pipeline. You can track pipeline status in ‘CI/CD pipeline’ section

You’re now ready to collaborate with a team on an ASP.NET Core app with a CI/CD process that automatically deploys your latest work to your web site.

  1. On the right side of the dashboard, select Browse to view your running application.
External image reference browsewebapp
The web app looks like as shown in the below figure
External image reference webapp
Exercise 2: Examine the CI/CD pipelines configured by Azure DevOps Project
Section titled “Exercise 2: Examine the CI/CD pipelines configured by Azure DevOps Project”

The Azure DevOps Starter project automatically configured a full CI/CD pipeline in your Azure DevOps organization. You can explore and customize the pipeline as needed. Follow the steps below to familiarize yourself with the Azure DevOps build and release pipelines.

  1. Select Build Pipelines from the top of the Azure DevOps project dashboard. This link opens a browser tab and the Azure DevOps build pipeline for your new project.
External image reference buildpipelines
  1. Select Edit.
External image reference editbuild
  1. In this pane, you can examine the various tasks for your build pipeline. This build pipeline performs various tasks such as fetching sources from the Git repository, restoring dependencies, compile the application, run tests and publishing outputs used for deployments.
External image reference builddefinition
  1. Under your build pipeline name, select History. You see an audit trail of your recent changes for the build. Azure DevOps keeps track of any changes made to the build definition and allows you to compare versions.

  2. Select Triggers. The Azure DevOps project automatically created a CI trigger and every commit to the repository initiates a new build. You can optionally choose to include or exclude branches from the CI process.

External image reference triggers
  1. Select Releases under Pipelines section.
External image reference Source image
The Azure DevOps project created a release pipeline to manage deployments to Azure.
  1. Select the release pipeline, then choose Edit.
External image reference editrelease
  1. Under Artifacts, select Drop. The build pipeline you examined in the previous steps produces the output used for the artifact.
External image reference releasedefinition
  1. To the right-hand side of the Drop icon, select the Continuous deployment trigger. This release pipeline has an enabled CD trigger, which executes a deployment every time there is a new build artifact available. Optionally, you can disable the trigger, when your deployments require manual execution.
External image reference cdtrigger
  1. Select Tasks. The tasks are the activities your deployment process performs. In this example, you have five tasks.
External image reference viewtasks
External image reference releasetasks
  • Azure Resource Group Deployment task deploy the required Azure resources, Azure Web app and Azure SQL database for the application to use.
  • Azure App Service Deploy task deploy the application package to the web site
  • Azure SQL Database deployment task deploy SQL changes to the database.
  • Visual Studio Test tasks run functional tests after the successful deployment of the application
  1. On the right-hand side of the browser, select View releases. This view shows a history of releases.
External image reference viewreleases
External image reference releasehistory
  1. Click on the release number to view the release summary. There are several menus to explore from this view such as a release summary, associated work items, and tests.
External image reference releasesummary
  1. Select Logs. The logs contain useful information about the deployment process. They can be viewed both during and after deployments.
Exercise 3: Commit the code changes and execute CI/CD
Section titled “Exercise 3: Commit the code changes and execute CI/CD”

The Azure DevOps project created a Git repository in your Azure DevOps organization. Follow the steps below to view the repository and make code changes to your application.

  1. Select Repos to view the created Git repository by Azure DevOps project.
External image reference codetab
  1. To view the repository clone URL, select Clone from the top right of the browser. You can clone your Git repository in your favourite IDE. In this lab, you can use the web browser to make and commit code changes directly to the master branch.
External image reference cloneurl
  1. On the left-hand side of the browser, navigate to the Application/aspnet-core-dotnet-core/Pages/Index.cshtml file. Select Edit, and make a change.
External image reference addcode

Make a change to the h2 heading. For example, type Get started right away with the Azure DevOps Projects or make some other change. Choose Commit, to save and check-in your changes.

External image reference addcode2
  1. In your browser, navigate to the Pipelines | Pipelines. You should now see a build is in progress. The changes you just made are automatically built and deployed via Azure DevOps CI/CD pipelines.
External image reference buildqueue
  1. Once the Build and Release are completed in your browser, navigate to the Azure DevOps project dashboard. On the right side of the dashboard, select Browse to view your updated running application. You will see the updated header in the web app.
External image reference browsewebapp
External image reference updatedsite

Thank you for taking the time to work on this tutorial/labs. Let me know what you thought!

Ensure to follow me on GitHub. Please star/share this repository!

External image reference Source image
Use the guide first.

The full learning flow stays on this page. Open GitHub only when a step asks you to inspect code, fork the lab, or download source assets.