
Who am I and what will we be doing during this course
Explore the repositories section to see three apps—ASP.NET Core, Ionic, and Angular—inside a single repository and learn how to deploy with separate pipelines.
Define when your pipeline runs by configuring triggers for specific branches, including multiple branches and exclusions to control automatic execution.
Specify a pool of agents by name to run builds on premise or hosted agents, or select a VM image for the Microsoft hosted pool, such as Windows latest.
Use the template msbuild task to build with msbuild, passing inputs such as the path to the solution file; adjust the solution path in the repo to its actual location.
Publish your api with the dotnet core CLI task and deploy the output to Azure App Service using AzureWebDeploy tasks. Connect your pipeline to an Azure subscription.
Create an Azure DevOps service connection to connect external services like GitHub and Docker Hub using an Azure Resource Manager connection.
Replace the previous tasks with dotnet core publish and azure web app deploy steps to package and publish an ASP.NET Core app to the app service via artifact staging.
Verify the deployed api using azure devops pipeline logs, open swagger ui at the default domain, and troubleshoot startup errors in app service via the debug console.
Create an Azure static web app for the Advertiser resource group, then deploy the Angular app using a pipeline and a deployment token.
Deploy an Angular app to Azure Static Web Apps using Azure Pipelines; verify deployment by opening the app's home page URL.
Create an ASP.NET core web application, then build an AKs cluster in Azure. Set up an Azure container registry for Docker images and deploy via pipelines to the AKs cluster.
Create an ASP.NET Core Web API with Docker support by configuring a .NET 6 project, enabling Docker on Linux, using controllers and open API support, and running in a container.
Start the project locally using container, express, or console app profiles, enable swagger and open API in development, then commit the initial setup, add a gitignore, and push to master.
Create a new container registry in West Europe by using the same resource group, naming it with the abbreviation CR, selecting the standard pricing plan, keeping defaults, and hitting create.
Ensure the Dockerfile sits at the same level as the solution before building; move it out of the folder and modify it if necessary to reflect its proper location.
Validate the AKS cluster after the pipeline deployment by confirming image push and deployment. Verify the load balancer service with an external IP exposes the API.
Explore how Kubernetes uses deployment.yaml and service.yaml manifests to create and manage pods and replicas. See how the deployment matches pod templates with labels and images.
The purpose of this course is help a Full Stack developer deploy its Fronted Angular Application and Backend ASP .NET Core Application to Azure. Even if you have written your SPA in a different Framework/library like React or View, you will still be able to use this course, only the build command within the frontend pipeline will change. If your backend API has a different ASP NET Core version of .NET Framework the build steps will still work.
I will walk you step by step through creating an Azure App Service, create an Azure Service Connection and then add the required steps in the azure pipeline yaml file in order to Build and Deploy your ASP NET Core app to the created App Service.
I will also walk you through creating an Azure Static Web app and then add the necessary steps into the Azure Pipeline in order to Build and Deploy an Angular App as a Static Web App in Azure.
The final section of the course walks you thorugh creating an Azure Kubernetes Cluster and then using Azure pipelines you will deploy an ASP NET Core API to the Cluster.
This course will not give you in depth explanations into all the concepts of Azure Pipelines or Azure resources, the main idea is to get you going quickly into deploying your apps to Azure. I will add later to this course more advanced concepts from Azure Pipelines, allowing multiple environments