+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

Beginning Azure DevOps. Planning, Building, Testing, and Releasing Software Applications on Azure. Edition No. 1

  • Book

  • 256 Pages
  • May 2023
  • John Wiley and Sons Ltd
  • ID: 5841676

The perfect DevOps guide for beginning Azure users

In Beginning Azure DevOps: Planning, Building, Testing and Releasing Software Applications on Azure, award-winning software engineer Adora Nwodo delivers a beginner's guide to DevOps on the Microsoft-powered Azure cloud platform. In the book, you'll learn to deploy Azure's built-in DevOps tools required to plan, build, test, and ship applications.

The author explains how to use Azure's functionality for project management, version control, code testing, and continuous integration and continuous delivery (CI/CD). She discusses how to plan software development projects from start to finish using Agile and Scrum techniques. Readers will also find:

  • Updated source code repositories on GitHub with instructive practice exercises
  • Strategies for improving collaboration and automating your code-to-cloud workflows
  • Techniques for securing your code with advanced capabilities

An essential resource for Azure novices who hope to learn about the myriad possibilities unlocked by Azure DevOps tools, Beginning Azure DevOps will also earn a place in the libraries of software professionals familiar with other cloud platforms who hope to gain a foothold in the Azure cloud environment.

Table of Contents

Introduction xix

Chapter 1: Introduction to Devops 1

Definition and Overview of DevOps 1

History of DevOps 2

The DevOps Life Cycle 3

The Benefit of DevOps 4

The Current State of DevOps 5

Summary 7

Chapter 2: Introduction to Azure Devops 9

What Is Azure DevOps? 9

Azure DevOps Services vs. Azure DevOps Server 10

Differences Between Azure DevOps Services and Azure DevOps Server 10

Scoping 10

Authentication 11

Users and Group 11

User Access Management 11

Data Protection 12

Similarities Between Azure DevOps Services and Azure DevOps Server 12

Features 12

Analytics and Reporting 12

Process Customization 12

Added Benefits on Azure DevOps Services 12

Azure DevOps Features 13

Benefits of Azure DevOps 14

Azure Monitor 14

Azure DevTest Labs 15

Summary 15

Chapter 3: Managing an Azure Devops Project With Azure Boards 17

Azure DevOps Organizations 18

Planning Your Organization 18

Creating an Azure DevOps Organization 19

Azure DevOps Projects 20

Types of Projects 22

Single Project 22

Many Projects 22

Creating an Azure DevOps Project 22

Understanding Project Processes 24

Concepts in Azure Boards 27

Work Items 27

Creating a Work Item 28

Backlogs 31

Managing Backlogs 32

Boards 34

Sprints 36

Queries 37

Plans 39

Integrating Azure Boards with GitHub 40

GitHub and Azure Boards Connection 40

GitHub and Azure Boards Verification 44

Summary 45

Chapter 4: Version Control with Azure Repos 47

Version Control 48

Version Control Systems 48

History of Version Control 49

Benefits of Version Control 50

Git 50

What Is a Git Repository? 51

Create a Git Repository on Azure DevOps 51

Setting Repository Permissions 51

Creating the Repository 53

Cloning the Repository 55

Import an Existing Git Repository to Azure DevOps 57

Pull Requests 58

Draft Pull Requests 58

Create a Pull Request from Azure Repos 59

Creating a Pull Request from the Pull Requests Page 59

Creating a Pull Request from a Feature Branch 60

Creating a Pull Request from a Work Item in Azure Boards 60

Creating a Draft Pull Request 62

Collaborate in Pull Requests 63

Git Tags 63

Annotated Tags 63

Lightweight Tags 64

Create Tags in Azure DevOps 64

Using the Tags View 64

Using the Commits View 65

Summary 66

Chapter 5: Automating Code Builds with Azure Pipelines 67

Overview of Continuous Integration and Continuous Deployment 68

Continuous Integration 68

Continuous Deployment 68

Continuous Delivery 69

Overview of Azure Pipelines 69

Azure Pipelines Features 69

Defining Pipelines 69

Defining Pipelines Using YAML 71

Defining Pipelines Using the Classic Editor 74

Components of Azure Pipelines 76

Azure Pipelines Agents and Agent Pools 77

Agents 77

Agent Pools 77

Using Microsoft- Hosted Agents 78

Using Self- Hosted Linux Agents 79

Using Self- Hosted Windows Agents 81

Using Self- Hosted macOS Agents 82

Azure Pipelines Build Script 83

YAML Overview 83

Writing a Build Script 84

Summary 86

Chapter 6: Running Automated Tests with Azure Pipelines 89

Overview of Software Testing 90

History of Software Testing 90

Continuous Testing 90

Importance of Software Testing 91

Types of Software Tests 92

Unit Tests 92

Integration Tests 92

Smoke Tests 94

Regression Tests 94

End- to- End Tests 95

Other Types of Software Tests 96

Steps for Running Software Tests 96

Setting Up Testing in Azure Pipelines 97

Summary 102

Chapter 7: Creating and Hosting Source Code Packages with Azure Artifacts 103

Overview of Artifact Repositories 104

Introduction to Azure Artifacts 104

Azure Artifacts Feeds 105

Project- Scoped Feeds 105

Organization- Scoped Feeds 105

How to Create an Azure Artifacts Feed 106

Public Feeds 108

Azure Artifacts Feed Views 108

Types of Azure Artifacts Feed Views 108

Upstream Sources 108

Setting Up Upstream Sources 109

How to Update a Feed to Use an Upstream Source 109

How to Create a Feed with Upstream Source Capability 111

How to Add a Feed in Your Organization to an Upstream Source 113

Publishing Artifacts in Azure Pipelines 115

Publishing Artifacts Using the publish Keyword in YAML 115

Publishing Artifacts Using a YAML Task 115

Publishing Artifacts Using the Classic Editor 116

Downloading Artifacts in Azure Pipelines 120

Downloading Artifacts Using the Download Keyword in YAML 120

Downloading Artifacts Using a YAML Task 121

Downloading Artifacts Using the Classic Editor 121

Summary 122

Chapter 8: Automating Code Deployments With Azure Pipelines 125

Continuous Deployment and Continuous Delivery in DevOps 125

Continuous Deployment 126

Continuous Deployment Tools 126

Advantages of Continuous Deployment 127

Continuous Delivery 127

Advantages of Continuous Delivery 128

Release Pipelines 128

Advantages of Release Pipelines 129

How Release Pipelines Work in Azure 129

Deployment Model Using Azure Release Pipelines 131

Creating the Release Pipeline 131

Creating a Release 134

Multistage Pipelines 137

Summary 143

Chapter 9: Application Testing with Azure Test Plans 145

Overview of Azure Test Plans 146

How Azure Test Plans Work 146

Advantages of Azure Test Plans 147

Creating Test Plans and Test Suites 148

Test Plans 148

Test Suites 150

Adding a Static Test Suite 150

Adding a Requirement- Based Test Suite 151

Adding a Query- Based Test Suite 152

Test Cases 154

Overview of Test Cases 154

Creating Test Cases 154

Configurations in Tests 157

Creating Test Configurations 157

Assigning Test Configurations 159

Running Manual Tests 161

Running Tests with Configurations 161

Viewing Manual Test Results 161

Running Automated Tests from Test Plans 162

Setting Up Your Environment for Automated Tests 163

Running the Tests 164

Summary 166

Chapter 10: Infrastructure Automation with Azure Pipelines 169

Overview of Infrastructure Automation 169

Types of Infrastructure as Code 170

Imperative Infrastructure as Code 171

Declarative Infrastructure as Code 172

Benefits of Infrastructure as Code 173

Infrastructure Automation Tools on Azure 174

Azure Resource Manager Templates 174

Azure Bicep 176

How Azure Bicep Works 176

Benefits of Azure Bicep 177

Using Azure Bicep in Azure Pipelines 177

Setting Up Azure Bicep on Your Computer 177

Azure Bicep Templates Overview 178

Azure Bicep Templates in Azure Pipelines 179

Pipeline Authentication 179

Deploying Azure Bicep Templates Using the Pipeline 181

Summary 185

Chapter 11: Exercise - Practice Using Azure Devops Tools 187

Introducing the Sample Application 187

Create a Fork of the Project 188

Clone Your Fork Locally 189

Importing the Repository from GitHub to Azure Repos 189

Using Azure Boards to Manage Work Items 191

Committing Code That Adds New Features 193

Building the Code in Azure Pipelines 194

Deploying the Code 195

Summary 196

Chapter 12: Starting a Career in Azure Devops 197

Starting an Azure DevOps Career 197

Getting Your First Job as an Azure DevOps Engineer 199

Finding an Azure DevOps Community Near You 201

Summary 202

Chapter 13: Conclusion 203

Appendix: Review Questions 205

References 213

Index 219

Authors

Adora Nwodo Microsoft.