Use Azure App Service Deployment Slots with Azure CLI

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

Azure App Service includes deployment slots that help to improve the way in which updates to your code can be deployed to production.

In this hands-on lab, we’ll use Azure CLI within the Cloud Shell, in order create and use deployment slots for a simple web application.

The Cloud Shell includes Azure CLI and the .NET Core CLI, which we will use to perform all tasks.

**Scenario**
You’ve recently been employed as a cloud developer, and have been asked to perform a proof of concept using Azure App Service deployment slots.

In order to perform this proof of concept, you will need to:

* Deploy a simple .NET Core web application to a new Web App in Azure App Service
* Make changes to your web application, and deploy these to a staging slot
* Perform a slot swap, so that your changes are promoted to production

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Set up a .NET Core Web App in Azure App Service

Use the below commands in Cloud Shell (Bash) for guidance:

  1. Create a new demonstration web application: dotnet new webapp
  2. Build the web application: dotnet build
  3. Create and deploy your web app: az webapp up -n APPNAME -g RESOURCEGROUP --sku s1
Update your App and Upload to a Staging Slot

Use the below commands in Cloud Shell (Bash) for guidance:

  1. Update your application, for example: code Pages/Index.cshtml
  2. Create a staging slot: az webapp deployment slot create --name APPNAME -g RESOURCEGROUP --slot staging
  3. Deploy to the staging slot:
    a) Publish the updated code: dotnet publish -o pub
    b) Zip for deployment: cd pub; zip -r webapp.zip .
    c) ZipDeploy to the staging slot: az webapp deployment source config-zip --name APPNAME --resource-group RESOURCEGROUP --src webapp.zip --slot staging
Swap Staging and Production Slots

Use the below commands in Cloud Shell (Bash) for guidance:

  1. Swap staging to production: az webapp deployment slot swap -n APPNAME -g RESOURCEGROUP --slot staging --target-slot production

Additional Resources

Log in to the Azure Portal by right-clicking Open Azure Portal, and selecting the option to open it in a new private browser window (this option will read differently depending on your browser — e.g., in Chrome, it says "Open Link in Incognito Window"). Then, sign in using the credentials provided on the lab page.

The objectives for this hands-on lab can be completed using the Cloud Shell within the Azure Portal. We will be using the Bash shell, and will complete commands using Azure CLI.

Note: See the updated Azure Cloud Shell setup instructions in the lab guide.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?