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.