Course Overview

DevOps provides a set of cloud-hosted tools that software teams can use as an end-to-end solution to plan, develop, test, and deliver value in the form of working software. Azure Pipelines automatically builds, tests, and deploys code projects in the cloud or on-prem to enable continuous feedback.

This one-day course demonstrates how an agile team can configure and use Azure Pipelines to effectively build, test, and deploy software while practicing Continuous Integration (CI) and Continuous Delivery (CD). To maximize learning, students will work in teams, in a common Azure DevOps project, on a common case study.

Course Outline

Continuous Integration

  • Introduction to Azure Pipelines
  • Creating a build pipeline
  • Pipeline tasks, variables, and triggers
  • Agents (hosted vs. on-premises)
  • Configuring self-hosted agents
  • Creating a YAML-based pipeline
  • Running tests and computing code coverage
  • Using Coverlet to collect/report code coverage
  • Configuring CI using triggers
  • Practicing Continuous Integration
  • Configuring and using Test Impact Analysis
  • Exploring pipeline analytics
  • Continuous Integration+
  • Hands-on lab

Continuous Delivery

  • Creating a release pipeline
  • Pipeline stages, jobs, tasks, and targets
  • Multi-stage YAML pipelines
  • Configuring environments and resources
  • Creating, deploying, and managing a release
  • Configuring/practicing Continuous Delivery
  • Hands-on lab

Continuous Deployment

  • Continuous Delivery vs. Continuous Deployment
  • Build-measure-learn explained
  • Using feature flags for CD and feedback
  • Hypothesis-Driven Development
  • Using LaunchDarkly for feature management
  • Creating and using feature flags
  • Experimenting in production, A/B testing
  • Hands-on lab

Who Benefits

This course is appropriate for all members of a software development team, especially those who are actively involved in automating the building, testing, and deploying of software. This course will also provide value for individuals outside the development team (managers, IT, operations, and other stakeholders) who want hands-on exposure to the capabilities of Azure Pipelines.

Ideally, attendees should have some experience with Azure DevOps. Understanding of C# and .NET 6.0 will be beneficial but is not required.