Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Implementing CI/CD Using Azure Pipelines
Implementing CI/CD Using Azure Pipelines

Implementing CI/CD Using Azure Pipelines: Manage and automate the secure flexible deployment of applications using real-world use cases

Arrow left icon
Profile Icon Piti Champeethong Profile Icon Roberto Mardeni
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (8 Ratings)
Paperback Dec 2023 326 pages 1st Edition
eBook
€20.98 €29.99
Paperback
€37.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Piti Champeethong Profile Icon Roberto Mardeni
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (8 Ratings)
Paperback Dec 2023 326 pages 1st Edition
eBook
€20.98 €29.99
Paperback
€37.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€20.98 €29.99
Paperback
€37.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Implementing CI/CD Using Azure Pipelines

Understanding Azure Pipelines

This book will be one of your favorite books in the Microsoft DevOps world as it provides a comprehensive guide to learning all about Azure Pipelines and will allow you to become an experienced Azure DevOps engineer. An Azure DevOps engineer is an individual who is responsible for designing and implementing continuous integration and continuous deployment (CI/CD) pipelines using the Azure Pipelines service, which is a component of Azure DevOps. Azure DevOps is a group of Microsoft services that help a project team achieve the project’s goal.

In this chapter, you will be introduced to the CI/CD and Azure DevOps concepts in greater detail and will learn about the advantages of using Azure Pipelines to create CI/CD pipelines for the application deployment process. More specifically, in this chapter, you will learn about the following topics:

  • What is CI/CD?
  • Introducing Azure DevOps
  • Introducing Azure Pipelines and its components
  • Comparing Azure Pipelines with other CI/CD tools
  • Setting up agent pools
  • Creating a personal access token (PAT)
  • Setting up and updating self-host agents
  • Setting up deployment groups

Technical requirements

What is CI/CD?

CI/CD is the workflow process for automation development and deployment that developers should know about to improve their skills.

CI is the workflow process for automating the process of building and testing code whenever a team member commits changes to Git, which is a form of version control that’s run on a source control repository platform such as Azure Repos, GitHub, GitLab, and others. CI creates a modern culture for all developers to share their code, including unit tests, by merging all changes into a shared version control repository after finishing a small task. CI runs based on committing code triggers to grab the latest code from the shared version control repository to build, test, and validate any branch that they commit. Using CI allows you to rapidly discover error code issues and correct them to ensure all developer code is of good quality.

CD involves automating the process of building, testing, configuring, and deploying from the CI workflow process to specific environments, such as QA, staging, and production.

This workflow is illustrated in the following figure:

Figure 1.1 – CI/CD diagram

Figure 1.1 – CI/CD diagram

CI/CD reduces human error and the routine operation of the manual build, test, and deploy stages for any developer. It helps the developer focus only on application development.

This book will focus on the CI/CD tool Azure Pipelines, which is a comprehensive service for DevOps and a part of the ecosystem of services in Azure DevOps. Before we look at this further, let’s introduce Azure DevOps.

Introducing Azure DevOps

Many CI/CD tools are used to support modern software development, such as Azure Pipelines, GitLab CI/CD, GitHub Actions, and Bitbucket Pipelines. One of the most widely used is Azure Pipelines; this is a part of Azure DevOps, which consists of the following five services:

  • Azure Boards is an Azure DevOps sub-service that’s used to track all tasks related to a project conveniently in one place. It is suitable for teamwork. It helps with collaboration because it supports Kanban boards, backlogs, team dashboards, and custom reporting, which can create a connection between the tasks and source version repositories such as GitHub or Azure Repos.
  • Azure Pipelines is an Azure DevOps sub-service that’s used to build, test, integrate, and deploy CI/CD processes. It helps reduce delivery errors and allows teams to focus solely on developing clean and readable code in software development; this service can be accessed through the Azure DevOps web portal (https://dev.azure.com/{your-organization}). This book will focus on this service due to this benefit.
  • Azure Repos is an Azure DevOps sub-service for controlling the version of the source code. It is easy to manage code in one place. Easy maintenance can also help you define rules so that you can deploy code safely to desired environments, such as merge checks or static code analysis after the team creates the pull request. The examples in this book will use Azure Repos.
  • Azure Test Plans is an Azure DevOps sub-service that helps test or quality assurance teams write use case scenarios to easily deliver the test results to the customer. The tester or quality assurance team creates system integration testing (SIT) and user acceptance testing (UAT) on Azure Test Plans. It can display test results as dashboard reports and include comments or feedback. Azure Test Plans also helps the team understand the test process of the project on the same page.
  • Azure Artifacts is an Azure DevOps sub-service that enables developers to share and manage all their packages that result from building code in one place. Developers can publish packages to their feeds and share them within the same team, organization, and even publicly. Developers can also load the packages from different public repositories such as https://www.nuget.org/ or https://www.npmjs.com/. Azure Artifacts also supports multiple package types, such as NuGet, npm, Python, Maven, and Universal Packages.

All these services fall under the umbrella of Azure DevOps, which covers the necessary development process for a project. You don’t need to use additional services for development.

Introducing Azure Pipelines and its components

Azure Pipelines is a CI/CD platform for building, testing, and deploying your code to a live application. First, let’s take a look at its key components.

Exploring the key components

There are some key concepts that you need to understand when creating an Azure pipeline:

  • An agent is the software that runs a job within a server. It can be a Microsoft-hosted agent or a self-hosted agent.
  • A pipeline is a workflow process for CI/CD for your application development. It can define your idea of how to build, test, integrate, and deploy your project.
  • A trigger is an action that calls a pipeline to run.
  • A stage is a flow of defined jobs in a pipeline, and each stage can have one or more jobs. The benefit of using a stage is that you can rerun job(s) under it. This means you do not need to rerun the whole pipeline. For example, let’s say the developer creates a pipeline containing two stages: the build stage and the deployment stage. If the deployment stage fails, then they can only rerun the failed job under the deployment stage.
  • A job is a group of one or more steps set in a stage. It is useful when you need to run a set of steps in a different operating system environment.
  • A step can be a task or script and is the smallest piece of a pipeline:
    • A task is a pre-defined script that your idea can define.
    • A script is an action that uses the command-line interface (CLI), PowerShell, or Bash. It depends on the operating system agent that you choose for a job. For example, if you use a command line to run on a Linux agent, it will use a bash script. PowerShell runs on a macOS agent and will use a PowerShell core for cross-platform scripts.
  • A target is a destination of the pipeline. It can be Azure Artifacts, an Azure resource service (such as Azure App Services, Azure Functions, Azure Container Apps, Azure Kubernetes Services, and so on), or invoke a REST API such as webhooks on Microsoft Teams.

Now, let’s look at how these components interact with each other:

Figure 1.2 – Key components

Figure 1.2 – Key components

This section described the meaning of and relationship between key objects. Before we take a more in-depth look at the different aspects of this platform, let’s learn how we can start using it.

Signing up for Azure Pipelines

Two methods can be used for signing up:

Once you’ve signed up for an Azure Pipelines account, you are ready to create a new project for building your code and release the built code to the live application.

Creating a new project

Creating a new project is the first step after you sign up, before creating any CI/CD pipeline. Upon creating a project, you can set project visibility:

Figure 1.3 – Creating a new project

Figure 1.3 – Creating a new project

You can enter a project name and select Visibility, then click Create project.

Inviting team members

When you need to work with a team, you must add a new member by inviting one or more team members. Follow these steps to invite a team member:

  1. Click on your project’s name in the web portal and click Project settings:
Figure 1.4 – Project settings

Figure 1.4 – Project settings

  1. Select Teams | Add:
Figure 1.5 – Adding a new team member

Figure 1.5 – Adding a new team member

  1. Enter the email addresses of your team members and click Save:
Figure 1.6 – Inviting team members

Figure 1.6 – Inviting team members

Now that you’ve invited your collaborators to join your project, let’s delve into how we can start using this service.

Creating Azure pipelines

There are two ways to create Azure pipelines:

  • Using the Classic interface (create Azure pipelines from the web Azure DevOps portal) while following these basic steps:
    1. Configure Azure Pipelines to use your Azure Repos Git repository.
    2. Use Azure Pipelines to create and configure your build and release pipeline using drag and drop from the Azure DevOps portal.
    3. Push your code to your version control repository. The pipeline will be automatically initiated by the default trigger and the defined tasks will be executed.
  • Using YAML syntax (create YAML files and commit them to the code repository) while following these basic steps:
    1. Configure Azure Pipelines to use your Azure Repos Git repository.
    2. Edit your azure-pipelines.yml file by defining your custom build.
    3. Push your code to your version control repository. This action runs the default trigger.

Let’s illustrate the Azure Pipelines YAML method for ease of understanding:

Figure 1.7 – Azure Pipelines YAML steps

Figure 1.7 – Azure Pipelines YAML steps

There are different pipeline features available for both these methods, with some available for both and others only featuring in one. We’ll look at these in detail in the next section.

Feature availability

Some pipeline features are only available when using the classic interface or YAML. The following table displays which features are available for which of these methods:

Feature

YAML

Classic

Description

Agents

Yes

Yes

To define the resource where the pipeline can run.

Approvals

Yes

Yes

To define the validation steps for additional checking before completing a deployment stage.

Artifacts

Yes

Yes

To define the library packages for publishing or consuming different package types.

Caching

Yes

Yes

To define an additional task to reduce the build time by allowing outputs or downloaded dependencies to store them on the agents and reuse them again.

Conditions

Yes

Yes

To define the specific conditions before running a job.

Container jobs

Yes

No

To define the specific jobs to run in a container.

Demands

Yes

Yes

To define the specific pipeline to ensure requirements are met before a pipeline stage is run.

Dependencies

Yes

Yes

To define specific requirements for validation before running the next job or stage.

Deployment groups

No

Yes

To define a logical group for the code that will be deployed to the target machines.

Deployment group jobs

Yes

Yes

To define a job to release to a deployment group.

Deployment jobs

Yes

No

To define the deployment steps.

Environment

Yes

No

To define a collection of resources targeted for deployment.

Gates

Yes

Yes

To support automatic collection and evaluation of external health signals before completing a release stage. Available with classic release only.

Jobs

Yes

Yes

To define the execution sequence of a set of steps.

Service connections

Yes

Yes

To define a connection to a remote service required to execute tasks in a job.

Service containers

Yes

No

To define a service that you can use to manage the life cycle of a containerized service.

Stages

Yes

Yes

To define flow jobs within a pipeline.

Task groups

No

Yes

To define a set of sequence tasks as a single reusable task.

Tasks

Yes

Yes

To define the building blocks that construct a pipeline.

Templates

Yes

No

To define reusable content, logic, and parameters.

Triggers

Yes

Yes

To define a specific event that causes a pipeline to run.

Variables

Yes

Yes

To define a value for data replacement and pass it to the pipeline.

Variable groups

Yes

Yes

To define the storage of values that you want to control and make available across multiple pipelines.

Table 1.1 – Pipeline features

Apart from these features, there are source version control repositories that Azure Pipelines can connect to. We’ll look at these in detail in the next section.

Availability of source version control repositories

YAML pipelines only support some version control repositories. The following table displays which version control repositories can support which method:

Repository

YAML

Classic Interface

Azure Repos

Yes

Yes

GitHub

Yes

Yes

GitHub Enterprise Server

Yes

Yes

Bitbucket Cloud

Yes

Yes

Bitbucket Server

No

Yes

Subversion

No

Yes

Table 1.2 – Comparing repositories

In this section, we discussed all the available features of Azure Pipelines. In the next section, we will convert the key components of Azure Pipelines into a YAML structure to manage it better.

Understanding the YAML structure of Azure Pipelines

Usually, creating a file called azure-pipelines.yml will help you remember which YAML file is used for azure-pipelines in the source code repository. The basic Azure Pipelines YAML structure is as follows:

Figure 1.8 – azure-pipelines.yml file

Figure 1.8 – azure-pipelines.yml file

The azure-pipelines.yml file in this example contains a typical structure:

  • There are two stages, stage1 and stage2, and each stage contains a job step.
  • Lines 1-2 show the pipeline runs when the developer pushes changes on the main (master) branch.
  • Lines 8-9 and 21-22 show the pipeline uses a Microsoft-hosted agent with the windows-latest operating system image.
  • Line 11 is a pre-created script for using the NuGet library. You can access this script in the ch1 folder in this book’s GitHub repository.
  • Line 12 is a pre-created script for using the NuGet command line.
  • Line 15 is a command line to run the echo command.
  • Line 24 is a PowerShell Core script that is cross-platform.

As you can see, the basic YAML structure is rather simple to understand. Once you’ve prepared the YAML file, you can see the status for running it. We will discuss this in the next section.

Viewing the Azure pipelines' status

The Azure pipelines' status is displayed on the Azure DevOps web portal under the running pipeline:

Figure 1.9 – The Azure pipelines' status

Figure 1.9 – The Azure pipelines' status

Clicking on the current pipeline status row will take you to the historical status of the pipeline. Two colors are used to indicate the status: green and red. These indicate successful and failed pipelines, respectively.

This section described all the components and their relationships. In the next section, you will understand the key differences between Azure Pipelines and other commonly used CI/CD tools.

Comparing Azure Pipelines with other CI/CD tools

Azure Pipelines has different features compared to other CI/CD services currently on the market. Let’s take a closer look:

Features

Azure Pipelines

GitHub Actions

GitLab CI

Bitbucket Pipelines

if expression

X

X

-

-

Loop statement

X

-

-

-

Online service – CI/CD minutes free usage per month

1,800

2,000

400

50

Online service – free package storage (GB)

2

0.5

5

1

Self-hosted agents

X

X

X

X

Free users

5

Unlimited

Unlimited

5

Table 1.3 – CI/CD tools comparison

This will help you understand the important factors to consider when you’re trying to decide on the right tool for your CI/CD platform.

Before you start to build a pipeline for application deployment, we must prepare the necessary agent pools, as demonstrated in the next section.

Setting up agent pools

Before using Azure Pipelines to build code and deploy code, you need at least one build agent. There are two build agent types: Microsoft-hosted build agent, which is included by default, and self-hosted build agent. Each agent type will be located under an agent pool, which is a collection of build and release agents.

A Microsoft-hosted build agent will be located under an agent pool called Azure Pipelines. You can create a new agent pool for self-hosted build agents and assign them under it.

To create pools, follow these steps:

  1. Click on your project name in the web portal and click Project settings | Agent pools | Add pool:
Figure 1.10 – Adding a pool

Figure 1.10 – Adding a pool

  1. Enter the information shown in the following screenshot and then click Create:
Figure 1.11 – Creating an agent pool

Figure 1.11 – Creating an agent pool

  1. Finally, you will see the new agent pool:
Figure 1.12 – Displaying the new agent pool

Figure 1.12 – Displaying the new agent pool

Once you’ve finished creating the new agent pool, you can start creating and setting up the self-hosted agent under a new agent pool. The following section will show you how to create a personal access token (PAT).

Creating a PAT

Before you can create self-hosted agents on your server or machine, you must create a PAT. To do this, follow these instructions:

  1. Go to the Settings menu under your personal icon and click on Personal access tokens:
Figure 1.13 – Creating PATs

Figure 1.13 – Creating PATs

  1. Click on New Token:
Figure 1.14 – New Token

Figure 1.14 – New Token

  1. Enter the required information:
    • Name: Enter the name you need
    • Organization: Select an organization you will link to
    • Expiration (UTC): There are four choices – 30 days, 60 days, 90 days, and custom-defined but under 2 years
    • Scopes: Select Custom defined | Agents Pools with Read & manage | Auditing with Read Audit Log:
Figure 1.15 – Entering the required information

Figure 1.15 – Entering the required information

  1. Copy the PAT before clicking on the Close button as you won’t be able to see it again:
Figure 1.16 – Copying the PAT

Figure 1.16 – Copying the PAT

Now, you are ready to set up a self-hosted agent.

Setting up self-hosted agents

After you’ve created a PAT, you can create a new self-hosted agent under a new agent pool. To do this, follow these steps:

  1. Click on PacktAzureDevOps | Agent pools | General:
Figure 1.17 – Entering a new agent pool

Figure 1.17 – Entering a new agent pool

  1. Click on New agent:
Figure 1.18 – Entering a new agent

Figure 1.18 – Entering a new agent

  1. You can download a self-hosted agent based on your operating system. Three operating system options will show you how to download and set them up:
    • Windows users can download build agent software from the Windows tab. There are two options, as shown in the following screenshot: Windows 64-bit (x64) and Windows 32-bit (x86):
Figure 1.19 – The Windows agent for setting up a file

Figure 1.19 – The Windows agent for setting up a file

  • To set up a Windows agent, you need to run on PowerShell as an administrator.
  • Mac users can download build agent software from the macOS tab:
Figure 1.20 – macOS agent

Figure 1.20 – macOS agent

  • You don’t need to use the bash command in the administrator role to set up the macOS agent.
  • Linux users can download build agent software from the Linux tab. There are four options for computer architecture – x64, ARM, ARM64, and RHEL6:
Figure 1.21 – Linux agent

Figure 1.21 – Linux agent

  • You don’t need to use a root user for installation to set up a Linux agent.
  1. After configuring the agent in each operating system, you must enter the following information:
    Enter (Y/N) Accept the Team Explorer Everywhere license agreement now? (press enter for N) > Y
    Enter server URL > https://dev.azure.com/yourOrganization
    Enter authentication type (press enter for PAT) > [ENTER]
    Enter personal access token > [Personal Access Token]
    Enter agent pool (press enter for default) > General
    Enter agent name (press enter for [computer name]) > agent01
    Enter work folder (press enter for _work) > [ENTER]
  2. Once you start the service, you will see that agent01 is active:
Figure 1.22 – The agent status dashboard

Figure 1.22 – The agent status dashboard

  1. You can see the Online status of the build agent that has already been created:
Figure 1.23 – The action menu of the agent

Figure 1.23 – The action menu of the agent

  1. You can delete the agent and update to a new version of the agent by clicking on the button with the ellipses or three dots.

You are now ready to create the build and deployment on the agent01 build agent. However, you need to set up the deployment group so that you can deploy your application on a local web server such as Microsoft Internet and Information Services (IIS). We’ll do this in the next section.

Setting up deployment groups

Deployment groups are logical agent groupings for application deployment on target machines based on environments – they are typically named based on your project needs and promotion levels before they go to production. Agents are installed in each environment. Each agent under the deployment groups supports only Windows and Linux.

These deployment groups can be divided based on environments, such as development (Dev), quality assurance (QA), user acceptance testing (UAT), and production (Prod), as shown in the following figure:

Figure 1.24 – Deployment groups concept

Figure 1.24 – Deployment groups concept

To create a deployment group, follow these instructions:

  1. Navigate to Pipelines | Deployment groups | Groups | Add a deployment group:
Figure 1.25 – Adding a deployment group

Figure 1.25 – Adding a deployment group

  1. Enter the required information and click Create:
Figure 1.26 – Entering deployment group information

Figure 1.26 – Entering deployment group information

  1. After creating the deployment group, you must set up the deployment agent under your deployment group. There are two operating systems the deployment agents support:
    • Windows users can install an agent of the deployment group by copying the PowerShell script and running it with an administrator command prompt:
  Figure 1.27 – Script to deploy an agent on Windows

Figure 1.27 – Script to deploy an agent on Windows

  • Linux users can install an agent of the deployment group by copying the bash shell script and running it with an administrator command prompt:
  Figure 1.28 – Script to deploy an agent on Linux

Figure 1.28 – Script to deploy an agent on Linux

  1. After setting up the agent for deployment groups, you will see that the build agent of the deployment group is online:
Figure 1.29 – The deployment agent is online

Figure 1.29 – The deployment agent is online

After setting up the build and deployment agent on a self-hosted computer, you are ready to create your first Azure pipeline.

Summary

In this chapter, you learned about the key concepts involved in CI/CD, which is a part of the Azure DevOps service from Microsoft. You learned about the basic structure of Azure Pipelines YAML and the difference between Azure Pipelines and other services currently on the market. You also learned about the fundamentals of Azure Pipelines, which will help you prepare your CI/CD pipelines for all real-world scenarios discussed later in this book. Finally, you learned how to set up agent pools, deployment groups, and self-hosted agents to prepare for the hands-on projects in the following chapters.

In the next chapter, you will apply the knowledge you’ve gained from this chapter to basic concepts and features and learn how to create a pipeline.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Develop automated end-to-end CI/CD solutions with Azure Pipelines
  • Learn how to implement and configure your pipeline using real-world examples and scenarios
  • Gain the skills you need to efficiently develop and deploy your organization’s software
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

Continuous integration and continuous delivery (CI/CD) are ubiquitous concepts in modern development. Azure Pipelines is one of the most popular services that you can utilize for CI/CD, and this book shows you how it works by taking you through the process of building and automating CI/CD systems using Azure Pipelines and YAML, simplifying integration with Azure resources and reducing human error. You’ll begin by getting an overview of Azure Pipelines and why you should use it. Next, the book helps you get to grips with build and release pipelines, and then builds upon this by introducing the extensive power of YAML syntax, which you can use to implement and configure any task you can think of. As you advance, you’ll discover how to integrate Infrastructure as Code tools, such as Terraform, and perform code analysis with SonarQube. In the concluding chapters, you’ll delve into real-life scenarios and hands-on implementation tasks with Microsoft Azure services, AWS, and cross-mobile application with Flutter, Google Firebase, and more. By the end of this book, you’ll be able to design and build CI/CD systems using Azure Pipelines with consummate ease, write code using YAML, and configure any task that comes to mind.

Who is this book for?

This book is for DevOps engineers, release engineers, SREs, application developers, and sysadmins looking to manage CI/CD using Azure Pipelines with the help of real-world use cases. A clear understanding of cloud computing services on Azure and AWS, DevOps, and CI/CD concepts, along with knowledge of building and deploying web and mobile applications automatically on cloud is assumed.

What you will learn

  • Create multiple jobs, stages, and tasks on the Azure DevOps portal
  • Use YAML syntax for Node.js, .NET, Docker, and SQL Server tasks
  • Automate microservice applications on Azure Kubernetes Service (AKS) clusters
  • Deploy Docker applications on AWS container services
  • Use SonarQube and Jenkins for security and artifacts
  • Implement CI/CD on Flutter-based mobile applications
  • Utilize Azure Key Vault secrets in Azure Pipelines
  • Build a Node.js application in Azure Container Instances

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 28, 2023
Length: 326 pages
Edition : 1st
Language : English
ISBN-13 : 9781804612491
Languages :
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Dec 28, 2023
Length: 326 pages
Edition : 1st
Language : English
ISBN-13 : 9781804612491
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 113.97
The Ultimate Docker Container Book
€37.99
Learn Azure Administration
€37.99
Implementing CI/CD Using Azure Pipelines
€37.99
Total 113.97 Stars icon

Table of Contents

17 Chapters
Part 1:Getting Started with Azure Pipelines Chevron down icon Chevron up icon
Chapter 1: Understanding Azure Pipelines Chevron down icon Chevron up icon
Chapter 2: Creating Build Pipelines Chevron down icon Chevron up icon
Chapter 3: Setting Variables, Environments, Approvals, and Checks Chevron down icon Chevron up icon
Chapter 4: Extending Advanced Azure Pipelines Using YAML Chevron down icon Chevron up icon
Part 2:Azure Pipelines in Action Chevron down icon Chevron up icon
Chapter 5: Implementing the Build Pipeline Using Deployment Tasks Chevron down icon Chevron up icon
Chapter 6: Integrating Testing, Security Tasks, and Other Tools Chevron down icon Chevron up icon
Chapter 7: Monitoring Azure Pipelines Chevron down icon Chevron up icon
Chapter 8: Provisioning Infrastructure Using Infrastructure as Code Chevron down icon Chevron up icon
Part 3:CI/CD for Real-World Scenarios Chevron down icon Chevron up icon
Chapter 9: Implementing CI/CD for Azure Services Chevron down icon Chevron up icon
Chapter 10: Implementing CI/CD for AWS Chevron down icon Chevron up icon
Chapter 11: Automating CI/CD for Cross-Mobile Applications by Using Flutter Chevron down icon Chevron up icon
Chapter 12: Navigating Common Pitfalls and Future Trends in Azure Pipelines Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Most Recent
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6
(8 Ratings)
5 star 75%
4 star 12.5%
3 star 12.5%
2 star 0%
1 star 0%
Filter icon Filter
Most Recent

Filter reviews by




Shrujal Ambati Mar 29, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
"Implementing CI/CD Using Azure Pipelines" by Roberto and Piti is an empowering read that beckons DevOps engineers to explore the transformative power of CI/CD through Azure Pipelines. It invites readers to journey from fundamentals to advanced strategies, promising to revolutionize software deployment. This book is a testament to Roberto and Piti's mastery, aiming to inspire innovation and elevate DevOps practices to new heights. It's a call to action to embrace the challenges and opportunities that Azure Pipelines presents, pushing the boundaries of what's possible in software deployment.
Amazon Verified review Amazon
Radek Sedlar Mar 25, 2024
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
This book covers a lot and does it very well. But it is concepted as internet article, but printed. Lacks of the feeling of academic literature.
Amazon Verified review Amazon
David L. Burnison Feb 24, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a great guide for working with Azure Pipelines. Piti and Roberto go well beyond "Hello world" examples to provide real world examples of deploying solutions to Azure, AWS and mobile applications using Flutter. They include ways to integrate Azure Pipelines with key technologies such as Docker for containers, SonarQube to analyze code quality, Azure Key Vault to securely handle secrets and SQL Server.By reading this book you will benefit from Piti's & Roberto's many years of CI/CD knowledge and experience.
Amazon Verified review Amazon
SA Feb 22, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book was a balance between conceptual explanations and practical applications, making it an enjoyable and informative read. The conceptual sections provided a solid foundation, while the practical examples showcased real-world scenarios and use cases. This approach allowed me to grasp the concepts and see how they could be applied in practice whether using Azure or another cloud provider.Overall, the book is a well-written and informative guide to cloud architecture using Azure and other services operating with Azure. The mix of conceptual explanations, practical examples, and integration with other cloud platforms make it valuable for both beginners and experienced cloud professionals.
Amazon Verified review Amazon
Tiny Feb 21, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Pipelines should be easy, the concept is well-known, the details should be available and the scheme should make sense. However, getting pipelines up and running effectively can be challenging for many new teams. “Implementing CI/CD using Azure Pipelines” (Packt, 2024) by Piti Champeethong and Roberto Mardeni provides basic and advanced skills for developers, software engineers, and security engineers who are looking to expand their Azure skill set. After reading, I’m a big fan of the easy-to-use GUI associated with pipeline build suites associated with Azure. Twelve chapters are divided into three sections: the basics to get started, operating pipelines, and some advanced tips, such as integrating Azure DevOps with AWS or Flutter for maximum usage. The first section begins with administrative access to Azure, and setting up the basic Azure DevOps. This has a number of sub-programs that are useful later in the process. The document takes you through the initial GUI process, builds a “Hello World” application pipeline, and identifies some additional steps. The section also includes a brief introduction to YAML if you desire to work directly in the CLI modules instead of using the interface. The overall DevOps tool can also start with bringing code from other sources such as GitLab, GitHub, or other functions. The next section really dives into the meat of the book. First is getting pipelines to work through service agreements supporting .net, SQL, Node.js, docker, and others. These extensibility options are critical for anyone who has ever felt the pain of being locked to a single vendor. These integrations continue into security with using Sonarqube, Terraform, Jenkins, and other tools. Azure DevOps supports a marketplace where one can purchase or install plugins. Also useful, the section walks through setting up IAC when using the functions and demonstrates the observability with Azure DevOps. Another neat trick was bringing the observability tools that may be from plugins into a common dashboard. The last area starts with a product example. It builds a multi-aspect product with an Angular frontend, Python product catalog, Node.js for a shopping cart and asp.net checkout. The example uses REST.API to start the pipelines, and then incorporate Helm charts for the environment. After creating and deploying the sample app, the authors provide some common errors with solutions. As a great example, the book provides a path to build with Azure DevOps and then deploy those products to either AWS as an alternate cloud or Flutter for mobile applications. Unfortunately, the last touch offers some advanced looks: going out to the Azure page and looking at the publicly available roadmap. The book does a great job of working through step-by-step samples, and the end project is clearly a win. In some sense, the gap between the early and later steps is more significant. I would have liked to see some moderate-level skill tasks during the middle of the book but they don’t significantly impact the overall value. One other note: integrating security and testing was a little light. These are some of the most important parts of the pipeline. Defaulting to just integration leaves out some of the essential aspects of identifying those artifacts and prioritizing improvement. Overall, “Implementing CI/CD using Azure Pipelines” (Packt, 2024) is a great initial reference for moving in the Azure platform. As with any commercial platform, some of the more advanced implementations cost more. One interesting fact was that establishing concurrency in pipelines, running more than one pipeline at a time is a significant cost add to the system. However, if you are looking for a way to launch quickly in Azure, this offers an informative path to using Azure DevOps, and building products for any environment, or from any previous environment into an Azure outcome. Recommended for anyone working with Azure pipelines.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.