1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Implementing Continuous Delivery on Azure

Lab 01: Prep Work

The course is part of this learning path

AZ-400 Exam Prep: Microsoft Azure DevOps Solutions
course-steps
17
lab-steps
5
description
1
play-arrow
Start course
Overview
DifficultyIntermediate
Duration1h 2m
Students409
Ratings
4.5/5
starstarstarstarstar-half

Description

This course deals with how to implement continuous delivery with the Azure DevOps solution. In particular, we will be exploring how to design different release strategies and some factors you need to consider while setting up release pipelines. This will include looking at release triggers, release gates, and other areas associated with releasing code, including working with different environments. We will also take a look at deployment patterns and how they can be implemented in your release strategy and release pipelines. During this course, we will be using hands-on examples to help work through these concepts and configurations.

If you have any feedback for us about this course, please contact Cloud Academy at support@cloudacademy.com.

Learning Objectives

  • Design a release strategy
  • Set up a release management workflow using Azure DevOps
  • Implement an appropriate deployment pattern

Intended Audience

  • DevOps engineers 
  • People preparing for Microsoft’s AZ-400 exam

Prerequisites

  • General knowledge of Azure
  • Experience with Git version control, including pushing changes into repositories
  • You do not need to know any specific development language

Transcript

The goal of this lab series is to leverage two public projects in our own environment. One project will be used to create the infrastructure in Azure, in this case, we're going to be using web apps. The other project will be an HTML webpage. The focus here is on the deployment pipeline. We're gonna take a little bit of time and just get things set up.

So, a couple of prerequisites. You're gonna need a GitHub account. You'll need an Azure DevOps account, which should be free to sign up. You'll need an Azure account, and you should have an editor installed with Git on your local machine. In this case, I've got Visual Studio Code, which I would recommend for this demo.

First thing, once we've got our Azure DevOps, you should have an organization setup. And if you don't already have a project, we'll create one. So, you may have one from previous sessions. We're gonna use version control Git and select through different work items. In this case, I'll use Agile, and create. So, here we have our boards, repos, and the pipelines.

The first thing we're gonna need to do is create some service connections under project settings, or you can go down to service connections, and create a service connection. Here we can see the variety of different systems we can connect to. In this case, our first connection will be to the Azure Resource Manager, or ARM. So we'll give this "MyAzure" and allow pipelines. Select your subscription. You'll need to log in, just to ensure you have authentication. It helps if you're already signed in, and it will authorize Azure DevOps to use the Azure Resource Manager.

Now that we have that connection, we'll create a new connection to GitHub. Next here. And we're just going to grant authorization to Azure pipelines and authorize. You do have other connection options, but for this case, this is the easiest. And we're just going to call this GitHub. So you can have access to different users with different repositories. So we now have two service connections created in our Azure DevOps project.

Next, we need to create a repo where we're going to import our HTML project. So this GitHub connection we're going to get the infrastructure from, if we go to repos and files, and we're gonna chose to import a repository. We need to go find the repository we're gonna import. So let's go over here and the project you're looking for is called the Azure-Samples/html-docs-hello-world. If we search for that, we should find that project here, it's a public project.

If we scroll down, you should see this clone or download and it will give you this connection here. So let's take that back to our file repo and we're gonna import this html-docs-hello-world. So if we do import, that will process that request and copy all those files into a repository inside our own Azure DevOps space. So this is part of the CI area, the continuous integration. So we're not gonna cover a lot of this, I'll assume you already know something about it. But we will go through enough just to use it.

Now that we have a copy of the project in Azure DevOps, we need to clone it to our desktop. And this is where Visual Studio Code comes in, it's connected easily with this link here. You open the page, we're gonna select a repository for this. So I'm just gonna do Documents, Labs, and select repository. That will then copy a set of those files to my local system and I can open them.

You can see the same project that was available in my Azure DevOps repo is now available on my local system. I need to create a new branch. There are multiple ways to do this. You can do that through visual studio code, through the Repo. Here we can say, create new branch, provide branch name, dev. Enter. And we can see we have now that changed to sync cloud. So if we push that change into the cloud, and we go have a look at our branches, we can see we have a Dev branch.

That's the prerequisites set up, we have two service connections to Azure, to GitHub, we've also imported a GitHub project into our own Azure Repo, created a Dev branch and we have that code synchronized on our local system in visual studio code.

About the Author
Students4227
Courses4

Matthew Quickenden is a motivated Infrastructure Consultant with over 20 years of industry experience supporting Microsoft systems and other Microsoft products and solutions. He works as a technical delivery lead managing resources, understanding and translating customer requirements and expectations into architecture, and building technical solutions. In recent years, Matthew has been focused on helping businesses consume and utilize cloud technologies with a focus on leveraging automation to rapidly deploy and manage cloud resources at scale.