Introduction
Prerequisite: Go through the Azure Essentials and Azure Essentials Continuum
courses before taking up Azure DevOps.
The topics covered in this course are:
Introducing Azure DevOps
Continuous Integration
...
Introduction
Prerequisite: Go through the Azure Essentials and Azure Essentials Continuum
courses before taking up Azure DevOps.
The topics covered in this course are:
Introducing Azure DevOps
Continuous Integration (CI)
Continuous Delivery
Continuous Deployment (CD)
Continuous Testing
Project Management
Disclaimer: Azure DevOps services is a cloud tool that is continuously updated. The
UI of the tool may be different from the content of the course, but the core
functionality remains the same.
What is DevOps
According to Microsoft, DevOps is:
A union of people, process, and products to enable continuous delivery of value to
end users.
DevOps is an approach to software application delivery where developers and
operations staff collaborate closely, thereby improving quality and enabling faster
delivery.
CI and CD
Continuous Integration and Continuous Deployment are the two important elementary
processes that contribute to the DevOps practice. They make sure that a
software/product is continuously and incrementally updated and deployed, as well
as, maintains both functionality and end-user experience.
There are various DevOps tools available to enable CI/CD, such as, Jenkins,
TeamCity, Bamboo, etc.
What is Azure DevOps Services?
Azure DevOps Services is a Microsoft cloud service tool that offers developer
services to support teams to plan work, collaborate code development, and build and
deploy applications.
Developers can work either on cloud or on-premises by using Azure DevOps services
or Azure DevOps server. These were formerly known as visual studio team services
(VSTS) and team foundation server (TFS).
Azure DevOps Services enables you to:
Plan and track work
Manage source code
Manage packages
Build and Deploy
Ensure quality and receive timely feedback.
Extend, Customize, and Integrate with other services.
Use Azure DevOps Services for quick setup, maintenance-free operations, easy
collaboration across domains, scalability, and security.
Azure DevOps Services Features
Azure DevOps Services has a set of features that can be used either through a web
browser or IDE client:Azure Repos provide unlimited private Git repositories to control source code.
Azure Pipelines provide build, test, and deploy services to support CI/CD for
applications.
Azure Boards deliver agile tools to support, plan, track, and discuss work across
teams by using Scrum, Kanban methods.
Azure Test Plans provide manual and exploratory tools to test applications and
support continuous testing.
Azure Artifacts allow to host, create, and share packages such as Maven, and npm
NuGet across teams, and also enable to add artifacts to the CI/CD pipelines.
Azure DevOps Services Features
Azure DevOps Services Features
In the web portal, the left side menu display all the DevOps features provided by
azure to try on.
Azure DevOps Server
Azure DevOps Server is a Microsoft DevOps tool built on an SQL server, and hosted
on-premises to manage and collaborate projects effectively.
When Azure DevOps Server is deployed on-premises, the SQL server and SQL Analysis
server can also be configured. It is also useful if you require data to reside
within a network, and to track work with better customization by using the onpremises XML process model.
Azure DevOps Services Vs Azure DevOps Server
As stated in the previous cards, DevOps services is a cloud offering, while DevOps
server is an on-premises offering by Microsoft.
DevOps services do not support all the features supported by DevOps server such as
SQL Server analysis services integration for reporting. Besides this, there are
several fundamental differences between these two offerings in terms of
authentication, managing user access, security and data protection, and so on.
Note: For details and options related to migration from on-premises to cloud, or
vice-versa, refer to link.
Getting Started
To work with Azure DevOps Services, you need an account. Register for free with
your Azure account at Register.
Azure DevOps Services can be launched either through the Azure portal, or directly
from the Azure DevOps Demo Generator.
Azure Portal
To launch services through the Azure portal, Search for Azure DevOps, and select My
Azure DevOps Organizations. The organizations page appears.
Note: Create an organization before creating a DevOps project.
Create a project (Create a project to get started page).
Configure the project name, description, and visibility of the project.
Azure DevOps Demo Generator
To launch services through the Azure DevOps Demo Generator,
Sign In and authenticate with your Azure account, and accept all the actions.
Note: If you have not created an organization, select Get started for free from the
Azure DevOps Demo Generator page, and authenticate with your Azure account.
Signing Up with GitHub Account
Sign up for DevOps services with your GitHub account.To sign up,
Click Start Free with GitHub Account.
Click Signin with GitHub.
Enter your GitHub account credentials, and click Authorize Microsoft-corp >
Continue.
Creating a Project
Creating a Project
If you sign up with a newly created Microsoft account for Azure DevOps, a project
is created automatically with a name based on your sign-in.
or
If you sign up with an existing Microsoft account or GitHub identity for Azure
DevOps, you will be prompted to create a project (public or private).
After successful creation of a project, the welcome page appears.
Welcome Page
Welcome Page
The welcome page displays the project name, DevOps features, and other options.
Invite\Add Team Members
To give access to your organization, team members can be added by specifying their
email ID or GitHub usernames.
To add a user,
1-From the welcome page, navigate to Organization settings -> Users -> Add users.
2-Enter data in the following fields:
Users: Email ID or GitHub username. Use semicolon (;) as a separator to add
multiple users.
Access Level: Basic for users who will contribute to code base.
Add to Project: Project to which a user is to be added.
DevOps Groups: Project Contributors for users who will contribute to the project.
3-Click Add.
Azure CLI Command
To access your team details by using Azure DevOps CLI commands, the CLI command is:
az devops team list-member --team
[--org]
[--project]
[--skip]
[--top]
Parameters:
--team : Required (name of the team).
--org : Azure DevOps organization URL. For example,
https://dev.azure.com/MyOrganizationName/
--project : Name of the project.
--skip : Optional (number of members to skip).
--top : Optional (maximum number of members to return).
Azure CLI Command
The following is the CLI comand to list the first five members of a team named
Contoso:
az devops team list-member --team "Fabrikam Team" --top 5 --output tableID Name Email
3b5f0c34 Christie crunch
[email protected]
4u7hj03 Mcloed johny
[email protected]
7iab6ioa Clant mccarthy
[email protected]
5iubx035 Green praisam
[email protected]
8sbfj9o3 Comey salt
[email protected]
Azure CLI Command
The following is the Azure CLI command to get team details:
az devops team show --team
[--org]
[--project]
Example
az devops team show --team "Fabrikam Team" --output table
ID Name Description
a48cb46f Fabrikam Team The default project team. Was Fabrikam Fiber Team
Azure Boards
Azure Boards enable teams to manage their software projects. This includes native
support for scrum, kanban, integrated reporting, and customizable dashboards.
Azure Boards Tools
The following interactive lists and signboards are provided by Azure Boards. Each
tool offers a set of filtered work items, and supports viewing and defining work
items.
Work Items
Boards
Backlogs
Sprints
Queries
Work Items
Using work items you can track features and requirements being developed, code
defects or bugs, and other particulars. It is similar to issues in GitHub, but
contains different types to track various types of information.
Each work item represents an object stored in the work item data store based on a
work item type, and is assigned an identifier that is unique to an organization or
project collection. The work item types available are based on the process used
when the project was created (Agile, Basic, Scrum, CMMI).
Process Templates
Whenever you create a project, choose a process or process template based on the
process model you use.
A process template defines the building blocks for the work item tracking system.
Process templates supported by Azure DevOps are Basic, Agile, CMMI, and Scrum.
Choose the template that best fits a project.
Work Item Types
Basic Process
Three types of work items - epics, tasks and issues.
Epics - To track significant features or requirements
Issues - To track user stories, bugs, or other smaller items of work.
Tasks To track even smaller amounts of work. For example, to track time either in
hours or days.
As works progresses from not started to completed, update the State workflow field
(To Do, Doing, and Done).Agile Process
Multiple types of work items - user stories, bugs, features, epics, task&mdash.
As works progresses from not started to completed, update the State workflow field
(New, Active, Resolved, and Closed).
Features can be added to track specific applications or sets of work.
Define user stories to track work assigned to specific team members, and bugs to
track code defects.
Boards and Backlogs
Boards and Backlogs
Boards and Backlogs are interactive tools to track work. You can add and update the
status of work using the Kanban board, assign work to team members, tag with labels
to support queries, and filter data.
You can add and update the status of work from New, Active, Resolved, and Closed
using the Kanban board for an agile process, and add tasks as child items to user
stories.
Sprints
Sprints enable to forecast work based on effort estimates, and determine how much
work can be done within a sprint.
To schedule a sprint,
1.From the web portal, select the relevant project.
2.Click Boards -> Sprints.
3.Click team, and then click Backlog.
4.Click set sprint dates.
5.Enter the iteration name, and sprint start and end dates.
6.Click Save.
Queries
Queries are filtered lists of work items based on criteria defined in a query
editor. Queries are used to support the following tasks:
Finding groups of work items that have something in common.
Listing work items to be shared with others, or for bulk updates.
Creating status and trend charts that can be added to dashboards.
Azure Repos
Azure Repos is a set of version control tools that help manage project code. It
also supports tracking changes made to project code.
As you edit code, the version control system takes a snapshot of the files, and
saves it permanently so it viewed later, if required.
It keeps a history, so you can review, and even restore to an earlier version.
Azure Repos offer two types of version control:
Git: Distributed Version Control
Team Foundation Version Control (TFVC): Centralized Version Control
Version Control Types
Git
Git is the most widely used distributed version control system. In Git, the local
copy of code includes the complete version control repository.
In Azure Repos, Git is standard Gi