
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.
Create a pipeline by navigating to the pipelines section, selecting Azure Repos Git as the source, choosing your repository, and applying the ASP.Net template to see how it looks.
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 variables area to define and reuse variables across the yaml file, optionally extract top variables, then begin steps like installing the nugget tool and restoring the solution.
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.
Execute and monitor a template pipeline by checking out the master branch, running the nugget tool installer, restoring dependencies, and building the solution on a Windows agent.
Create an Azure app service to host a dotnet api, using naming conventions for resource type, environment, and region, and establish a new app service plan in West Europe.
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 pipeline to build and deploy an Angular app to an Azure static web app, using Node 18 and Angular CLI in the advertiser web folder.
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 an AKS cluster in the Azure portal by using Kubernetes services, selecting a deployed resource group, dev and test preset, standard pricing, one node pool, and no network policy.
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.
Create an Azure pipeline to deploy an ASP.NET Core API to an AKS cluster using the Deploy to Azure Kubernetes Services template, selecting the subscription, container registry, and port 80.
Explain how the AKS pipeline creates Docker registry and cluster service connections, uses a Dockerfile path and build tag, and deploys to Kubernetes with deployment and service manifests.
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.
Verify the deployment progressed to two pods after updating replicas, confirming pipelines finished successfully and both pods run from the specified image.
Understand how a Kubernetes service exposes pods via a selector and enables frontend-backend communication, with a load balancer type providing an external IP.
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