Azure Pipelines
Duration: 5 Days
Description
This five-day, hands-on course provides a comprehensive exploration of Azure Pipelines within the broader DevOps ecosystem. Participants learn to design, implement, and secure build and release pipelines, progressing from Git-based CI/CD fundamentals to advanced multi-stage strategies, container delivery, automated testing, and integration with Azure services. Real-world labs guide learners through YAML pipeline creation, Docker container delivery, Kubernetes deployments, and pipeline security best practices. By the end of the course, attendees will be able to build reliable, automated delivery pipelines for real-world Azure environments.
Audience
This course is ideal for DevOps engineers, cloud developers, build and release managers, and system administrators who need to automate application delivery using Azure DevOps. It also benefits software developers and IT professionals transitioning into DevOps roles who want to master continuous integration and continuous delivery with Azure Pipelines.
Objectives
- Explain DevOps principles and implement CI/CD pipelines using Git repositories and branching strategies
- Configure Microsoft-hosted and self-hosted agents, manage agent pools, and scale for concurrency
- Author and maintain YAML pipelines with stages, jobs, and steps for repeatable builds and releases
- Build, package, and deploy containerized applications using Docker and Azure Container Registry
- Integrate automated testing (unit, integration, system, acceptance) directly into the pipeline
- Implement advanced pipeline features such as multi-stage workflows, triggers, checks, and code quality gates
- Set up self-hosted pipeline agents with high availability and redundancy
- Publish and manage artifacts and securely integrate with Azure Key Vault and other Azure services
- Create and manage release pipelines for blue/green, canary, and rolling deployments—including Kubernetes and Rancher
- Apply pipeline security best practices for secrets management, service connections, permissions, and access control
- Troubleshoot, monitor, and optimize pipeline performance and implement pipelines as code
Prerequisites
Participants should have a working knowledge of basic Azure concepts, Git version control, and fundamental software development or IT operations practices. Prior experience with command-line tools and general scripting (PowerShell, Bash, or similar) is recommended but not required.
Course Outline
Module 1: DevOps
- Introduction to Continuous Integration
- Git and Code Repositories
- Code Check-In and Continuous Integration
- Branches and Performance Consideration
- DevOps Principles and Practices
Module 2: Azure Pipelines and Agents
- Key Components – builds, releases, tasks, agents
- Agents and Agent Pools
- Microsoft-Hosted vs. Self-Hosted Agents
- Configuring and Managing Agent Pools
- Scaling Agents for Concurrency and Performance
Module 3: Pipeline Definitions
- YAML Pipelines
- Yet Another Markup Language (YAML)
- Creating a Simple YAML Pipeline to Build an Application
- Pipeline Syntax – stages, jobs, and steps
Module 4: Delivery (Docker)
- What are Containers?
- Docker
- Delivering a Container Image (Package)
- Lab – Build, Deliver, and Run a Docker Container Image
Module 5: DevOps Automated Testing
- Paradigms – unit, integration, system, acceptance, etc.
- How Developers Create Tests (iTDD, BDD, ATDD, etc.)
- Evaluating Test Suites
- Implementing Testing Tools
- Automated Tests as Part of the Pipeline
- Best Practices
Module 6: Advanced Pipeline Strategies
- Multi-Stage Pipelines for Complex Workflow
- Pipeline Triggers – code changes, schedules, etc.
- Branching Strategies and How They Relate to Pipelines
- Checks – code coverage, code quality, vetted software, security
Module 7: Self-Hosted Pipeline Agents
- Microsoft-Hosted vs. Self-Hosted Agent Capabilities
- Setting Up Self-Hosted Agents
- High Availability – redundancy
- Lab – Set Up the Azure Pipeline Agent and Use It
Module 8: Integrating with Azure Services
- Azure Artifacts
- Publish Artifacts
- Working with Azure Container Registry and Docker
- Integrating with Azure Key Vault for Secure Secrets Management
Module 9: Release Pipelines and Deployment
- Release – Delivery vs. Deployment
- Introduction to Azure Release Pipelines
- Creating Multi-Stage Release Pipelines for Different Environments
- Defining Deployment Strategies – blue/green, canary, rolling deployments
- Approvals, Gates, and Other Controls in Release Pipelines
- Kubernetes (K8s and K3s)
- Rancher
- Lab – Spin Up K3s in a Docker Container (configure deployment to K3s with Kubernetes and then Rancher as the interface)
Module 10: Pipeline Security
- Securely Managing Secrets and Credentials in Pipelines
- Using Service Connections and Managed Identities
- Implementing Security Best Practices for Pipelines
- Pipeline Permissions and Access Control
Module 11: Best Practices and Troubleshooting
- Optimizing Pipeline Performance
- Implementing Pipelines as Code
- Troubleshooting Common Pipeline Issues
- Monitoring and Logging for Pipelines
- Best Practices for Organizing and Managing Pipelines