Book Image

Implementing CI/CD Using Azure Pipelines

By : Piti Champeethong, Roberto Mardeni
5 (1)
Book Image

Implementing CI/CD Using Azure Pipelines

5 (1)
By: Piti Champeethong, Roberto Mardeni

Overview of this book

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.
Table of Contents (18 chapters)
1
Part 1:Getting Started with Azure Pipelines
6
Part 2:Azure Pipelines in Action
11
Part 3:CI/CD for Real-World Scenarios
15
Chapter 12: Navigating Common Pitfalls and Future Trends in Azure Pipelines

What this book covers

Chapter 1, Understanding Azure Pipelines, provides an introduction to CI/CD, Azure DevOps, Azure Pipelines, and its components. It explains why an Azure pipeline is the right choice for certain cases, introduces other services under Azure DevOps such as Azure Repos, and guides you through setting up a new project, setting up a self-hosted agent, preparing a pipeline environment, and configuring agent pools and deployment groups.

Chapter 2, Creating Build Pipelines, teaches you how to create and manage pipelines, stages, jobs, tasks, triggers, and artifacts in Azure DevOps, as well as about running pipelines after code pushes to Azure Repos.

Chapter 3, Setting Variables, Environments, Approvals, and Checks, covers the creation of service connections, variable groups, secret files, and release pipelines in Azure DevOps. It also explains setting up service accounts for Azure Repos and GitHub connections. Additionally, you will learn about securely storing secret keys and using environments, with approvals and checks for stage progression control.

Chapter 4, Extending Advanced Azure Pipelines Using YAML, helps you to understand how to use YAML to create a build and release pipeline. It discusses in detail what the YAML syntax is to create stages, jobs, and tasks for web application deployment.

Chapter 5, Implementing the Build Pipeline Using Deployment Tasks, explores how to create and reuse a build task for the building process. This chapter covers the popular Node.js, NPM, .NET, Docker, and SQL Server deployment tasks using the YAML syntax.

Chapter 6, Integrating Testing, Security Tasks, and Other Tools, helps you understand how the extensibility of Azure Pipelines with other tools works. This chapter covers the popular tools SonarQube for code analysis and Jenkins for artifacts.

Chapter 7, Monitoring Azure Pipelines, teaches you how to monitor Azure Pipelines and related tasks, such as build tasks, deployment tasks, and pipeline agents. You will also learn how to build monitoring into pipelines to determine whether deployments improve or degrade the quality of a system.

Chapter 8, Provisioning Infrastructure Using Infrastructure as Code, examines how to create and reuse deployment tasks for the Infrastructure as Code (IaC) process. This chapter covers the popular IaC tools Terraform, Azure Bicep, and an ARM template using YAML syntax.

Chapter 9, Implementing CI/CD for Azure Services, shows you how to create the YAML and pipelines for Azure service deployment. You will learn how to set up and deploy applications on Azure App Service, Azure Kubernetes Service (AKS), Azure Container Apps, and Azure Container Instances (ACI).

Chapter 10, Implementing CI/CD for AWS, explores how to create YAML and pipelines to deploy containerized applications on different services such as AWS Lightsail, Elastic Kubernetes Service (EKS), and Elastic Container Service (ECS).

Chapter 11, Automating CI/CD for Cross-Mobile Applications by Using Flutter, dives into how to create a pipeline using YAML to automate the CI/CD of a mobile application build and release process. You will also learn how to implement YAML pipelines to deploy Flutter on Apple TestFlight and the Google Play Console, staging the environment of an end-to-end process.

Chapter 12, Navigating Common Pitfalls and Future Trends in Azure Pipelines, teaches you about common mistakes and suggests how to avoid them. This chapter also looks at potential future trends in Azure Pipelines.