
Learn to register a free Microsoft Azure account, get 12 months plus about 200 USD credit, sign up with a Microsoft email, verify mobile, and complete card verification.
Create an Azure DevOps organization, set up a private project named Project Daybreak, and create a dedicated repository for provisioning resource groups with Azure Pipelines for infrastructure deployment.
Install the Azure CLI across Windows, Linux, Mac, or Docker, run az commands in PowerShell or Bash, verify the version, and sign in to your Azure tenant with az login.
Install the Bicep language via the CLI in Windows PowerShell, verify the installation with bicep --version, and note version 0.12.40 as you prepare to code infrastructure as code.
Install Git Bash on Windows to enable a Bash terminal for Git versioning and Unix-like syntax; verify installation by running git --version and prepare to install Visual Studio Code.
Install Visual Studio Code on Windows to use as your code editor for infrastructure as code and Git Bash, covering download, installer steps, license, desktop icon, and launch.
Set Git Bash as the default terminal in VS Code by using the command palette to select the default profile, test with a new terminal, and optionally switch to PowerShell.
Create a local git repository by making a project directory, navigating into it with git bash, and initializing with git init to version-control your code.
Stage and commit changes in git by creating a demo file with echo, adding it with git add, and committing with a message, after configuring user name and email.
Stage and commit multiple files in git using the same commands shown, including git add ., git status, and git commit -m 'message' to capture grouped changes.
Create and switch to a new local git branch to isolate changes from master, then plan to merge once testing is complete.
Demonstrates merging a pr test branch into the master branch, verifies branch isolation, and confirms the merge by adding a new file (demo eight.txt) and performing a git merge.
Learn to undo the latest commit by using git revert, view the head revision with git log, stage and commit changes in VS Code, and understand potential merge conflicts.
Set up billing in Azure DevOps to run Azure Pipelines and test a Microsoft hosted runtime agent, exploring free minutes, paid parallel jobs, and self-hosted options.
Install PowerShell 7 to support Azure libraries and pipelines, download the 64-bit installer, run the setup, and finish the installation before the next lecture on Visual Studio 2022.
Install Visual Studio 2022 Community Edition to access ASP.NET Web and Development and Azure development libraries, enabling you to create Azure resources, deploy web applications, and configure a self-hosted agent.
download and configure a self hosted runtime agent in the default Azure DevOps pool, including downloading the 64-bit Windows agent and configuring it with a personal access token.
Test a self hosted agent by running a pipeline in Azure DevOps, selecting the default pool, and confirming the live log shows the agent connects and the job starts.
Configure a service connection in Azure DevOps to authenticate pipelines against Microsoft Azure, automatically creating a service principal linked to an Azure subscription.
Clone your existing repository to your local machine and open it in Visual Studio Code to begin writing infrastructure as code. Follow git clone steps and authenticate with your credentials.
Create a clean project structure by organizing code into pipelines and scripts folders, initializing a feature branch, and adding YAML pipelines and PowerShell scripts for resource group deployment.
Add a PowerShell task to an Azure DevOps yaml pipeline, configure the Azure PowerShell task, point to the script, pass arguments, and deploy a resource group in North Europe.
Set up infra and log analytics folders, create main and module Bicep files, add a YAML pipeline for provisioning, and include a scripts folder to compile Bicep to ARM.
Learn the specification for a log analytics bicep module template, including required and optional inputs, properties like name, location, tags, sku, log retention, and security settings for public network access.
Develop a log analytics bicep module template using the rest api 2021 1201 Preview for Microsoft operational insights, and expose outputs for the workspace name and id.
Learn to add tagging and resource naming variables in an Azure Bicep file, creating a tag object from owner, cost center, application, description, repository, and naming parameters for log analytics.
Learn to transpile Bicep to ARM by building a reusable PowerShell utility that uses the CLI to convert declarative Bicep code into ARM templates.
Create a yaml pipeline to provision infrastructure, using an Azure DevOps variable group and Bicep templates to drive log analytics provisioning and review deployment audit logs in the Azure portal.
Create an Azure DevOps variable group in project DAYBREAK, defining variables like application, company short name, cost center, domain, owner, and repository URL to bootstrap a YAML pipeline.
Learn to build a yaml pipeline to provision infrastructure by adding a trigger, parameters, and variables, including a variable group, a service connection, and values as dev, test, and prot.
Build a yaml pipeline to provision infrastructure with Azure Resource Manager deployment task for ARM templates from bicep. Configure deployment scope, resource group, environment, and override parameters via runtime variables.
Push the feature branch to the remote, load the Azure DevOps pipeline from YAML, and run it in dev to validate infrastructure deployment while troubleshooting variable resolution and fixes.
Confirm the deployment by checking portal.azure.com for the log analytics resource and deployment status, then merge the working branch into main via a pull request.
Create a deliberate error in Azure DevOps by branching, misspelling a resource group name, and pushing changes to observe pipeline behavior and error detection.
Learn to revert an intentional error with git revert, edit the commit message in Visual Studio Code, push the fix, and set up a template error for the next lecture.
Define a data factory Bicep module template by specifying required inputs—tags, location, and data factory name—with log analytics as a recommended dependency for monitoring logs.
Create the data factory bicep template module by adding input parameters—tags, location, data factory name, and workspace ID—and prepare for log analytics in the next lecture.
Create the main bicep file to invoke the data factory module, enforce tagging and naming standards, validate the log analytics workspace existence, and pass the workspace ID to provision the data factory.
The goal of this course is to help students learn how to professionally write and develop Azure DevOps Infrastructure as Code with BICEP, YAML, Git and PowerShell.
Azure DevOps is a leading automation and DevOps platform and the students will be taken through the following;
An in-depth introduction to Infrastructure as Code with the Azure DevOps platform
A definition of DevOps and how Azure as a SaaS (Software as a Service) platform that facilitates the practice of the DevOps methodology
An Introduction to YAML pipelines on the Azure DevOps platform
An Introduction to BICEP and ARM templates for developing Infrastructure as Code (IaC) on the Azure DevOps Platform
An overview of Industry leading DevOps tools
Git is an industry leading distributed version control system and is a very critical component of Azure DevOps and therefore students will be taken through a Git Crash Course that covers the following basic aspects;
The creation of a local Git Repository
Learn how to stage and commit single and multiple files
Branching management with Git including Merging
Git with Bash and Visual Studio Code
Learn how to time travel and undo changes
Students may find it necessary to learn about how to set up Azure DevOps Pipeline Agents as a Self-Hosted Azure DevOps agents for running CI / CD pipelines, perhaps the situation could be cost saving at a work environment or a cost effective personal environment, and therefore the students will learn the following;
Set up Billing for Microsoft and Self Hosted pipeline agents
Installation and Set Up for a Self Hosted pipeline agents
Setting up of a Personal Access Token
Configuration of a Self-Hosted Agent
YAML is a leading configuration management technology for developing CI / CD pipelines, perhaps the best way learn how to write YAML pipelines is for the student to be taken through how to provision infrastructure with YAML, Powershell and BICEP. The initial focus will be the provisioning of resource group and there and therefore the students will learn the following;
How to Create an Azure Service Connection
Cloning an Azure DevOps Repository
Writing PowerShell Script to Provision a Resource Group
How to Add Stages, Jobs and Steps in a YAML pipeline template
Running the YAML pipeline on Azure DevOps
How to develop Azure Variables Group and pass them into YAML templates
How to override BICEP parameters using YAML
One aspect of professionalism in coding is how projects are structured for coding efficiency and ease of management, the other aspect in the naming convention of resources. The course will take through students on the following following.
Creating Project Structures for a DevOps and BICEP project using Bash and Git
Establish a standard naming convention for resources using BICEP and PowerShell
The heart of provisioning and deploying infrastructure in Azure is the adoption of BICEP, and students will learn the following in terms of developing BICEP in a professional manner;
Development of a BICEP template to provision Log Analytics and Data Factory
How to add Input Parameters to a BICEP template
How to create BICEP Modules for Log Analytics and Data Factory
How to add Tagging Information to BICEP modules
How to structure a naming convention with BICEP
How to use run time and compile time variables and parameters
How to write a PowerShell Script to Transpile BICEP to an ARM template
How to Manage Dependencies between Resources with BICEP
How manage BICEP template errors