1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Getting Started with Azure App Service

Deploy to App Service from VS Code on MacOS

Start course
1h 22m

You’ve got an idea for a great web app, or maybe you’ve already started building it. The next question is how are you going to get it out there on the Internet?

In this course, you will learn how you can quickly and easily set up a website and publish your app to the world with Azure App Service. Of course, web apps are a lot more complex and varied than just HTML pages and we will see how App Service supports a range of programming languages, frameworks, and even operating systems. We will explore features that greatly simplify application deployment and management, as well as those that will increase your app’s functionality like authentication and accessing on-premise data. App Service as with other Azure products has a raft of tools for monitoring and logging so you can make sure your app is performing optimally.

For any feedback, queries, or suggestions relating to this course, please contact us at support@cloudacademy.com.

Learning Objectives

  • Deploy apps using the Azure App Service
  • Create a web app using the Azure Portal
  • Create a web app using Visual Studio
  • Understand the configuration and diagnostic capabilities available from Azure App Service
  • Understand the advanced features of the service such as container deployment and deployment slots

Intended Audience

This is a beginner level course suited developers or anyone wanting to know how to deploy web apps to the Azure cloud.


To get the most from this course, you should have a basic understanding of the software development lifecycle, while knowing how to code would be a plus.

Course source code

.NET 5.0 demo code



Docker Hub



.NET Core 3.1 demo code






To demonstrate that integration between development environments and Azure is not confined to Windows, I'll deploy a web API application from VSCode running on macOS. I'll download the code from a Github repository and unzip it into a projects folder. Get-started-app-service-net5 is the repository name, and lorrylogapi is the project. The are several ways to open a project in VS Code, but probably the easiest is to drag the project folder from Finder onto VS Code. VS Code language extensions, in this case, the C# extension, take care of setting up essential software libraries that your app needs.

As VSCode is more of a generic code editor than a full-blown IDE like Visual Studio, non-essential libraries aren't automatically installed. In this case, it's support for SQL databases, which I'll add via the terminal window with the dotnet add package command in the project's folder. We need to add three packages, Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Design, and Microsoft.EntityFrameworkCore.SqlServer. Now that it's done, we can compile and run the app locally to check everything is working. First with the build task and then by choosing Run without debugging from the run menu. It is, and Firefox nicely formats the JSON output.

To enable Azure App Service integration from VSCode, we need to install the azure extension by clicking on the Extensions button on the left and searching for Azure App Service. Installing this extension will also install the Azure account and resources extensions. Once installed, we get an Azure icon added to the left toolbar. The next step in the process is to build a release version of the application that we can publish to the App Service. I'll do that through a terminal with the dotnet publish command specifying a release build configuration output to the publish folder. Unlike Visual Studio in Windows, publish doesn't deploy the app but builds it with all the necessary supporting libraries ready for deployment. After the command has finished, we get two new folders in the project explorer, Release and publish. Right-click on publish and select deploy to Web App. The first time you do this, you'll be prompted to log into Azure or create an account. I already have an account with 2-step authentication. Once authorized, you can create a new app service resource or publish to an existing one associated with the account you authenticated with. Selecting lorrylog publishes our macOS .NET 5 app to Azure App Services.

About the Author
Learning Paths

Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a  Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.