
GitHub Actions and Azure - Deploying .NET Core code to Azure App Service
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 buildanddotnet publishsteps 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:
- Deploy Infrastructure — runs the ARM template against Azure (idempotent)
- 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
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
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
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.