GitHub Actions and Azure - Deploying .NET Core code to Azure App Service

GitHub Actions and Azure - Deploying .NET Core code to Azure App Service

2020-12-02

You have your .NET Core application code and your Azure App Service infrastructure is ready. Now it’s time to wire them together with a fully automated GitHub Actions deployment pipeline.

What You’ll Learn

  • How to structure a multi-job GitHub Actions workflow that separates infrastructure deployment from application deployment
  • Setting up the Azure Web App Deploy action for .NET Core applications
  • Using GitHub Secrets to securely store Azure publish profiles
  • Configuring dotnet build and dotnet publish steps within a workflow job
  • Troubleshooting common YAML indentation and path errors in GitHub Actions pipelines
  • How ARM template idempotency means the infrastructure job runs safely on every commit with no unintended changes

Workflow Structure

The pipeline demonstrated here follows a two-stage pattern:

  1. Deploy Infrastructure — runs the ARM template against Azure (idempotent)
  2. Build and Deploy Application — compiles .NET Core code and publishes to Azure App Service

This is the third episode in the GitHub Actions and Azure series, building directly on the ARM template deployment workflow from the previous episode.

Related Content

GitHub Actions and Azure - Deploying ARM templates with GitHub Actions

GitHub Actions and Azure - Deploying ARM templates with GitHub Actions

2020-12-02

Before deploying application code, you need cloud infrastructure in place. This episode demonstrates how to deploy Azure infrastructure using ARM templates (Infrastructure as Code) directly from a GitHub Actions workflow—covering ARM template structure, the azure/arm-deploy action, repository organisation, and service principal setup for automated, repeatable Azure deployments.

GitHub Actions and Azure - Getting started with GitHub Actions and Azure Login

GitHub Actions and Azure - Getting started with GitHub Actions and Azure Login

2020-11-29

New to GitHub Actions? This episode is your starting point. Chris walks through GitHub Actions workflow fundamentals—YAML syntax, jobs, steps, GitHub-hosted runners, and secrets management—then shows how to authenticate against Azure using the Azure Login action and a service principal, before running Azure CLI commands as part of your first automated pipeline.

Deploying Azure Functions and Static Sites with GitHub Actions | Cloud with Chris

Deploying Azure Functions and Static Sites with GitHub Actions | Cloud with Chris

2020-10-02

Chris walks through GitHub Actions fundamentals and demonstrates how to use them to build and deploy a multi-tenant Azure Functions API and a static frontend — both triggered automatically on push and pull request events. Using a pet project (a Yu-Gi-Oh card inventory app) as the real-world example, the session covers CI/CD concepts, workflow triggers, GitHub Secrets, publish profiles, Dependabot, and the GitHub public roadmap for upcoming Actions features like manual deployment approvals.