Azure Pipelines Cheat Sheet
- A cloud-based platform for automating code build, test, and deployment workflows using CI/CD pipelines.
- Automates software delivery across development, test, and production environments.
- Works with multiple languages and platforms (e.g., .NET, Java, Node.js, Python).
- Integrates with GitHub, Azure Repos, Bitbucket, and other Git providers.
- Supports both YAML (as code) and visual designer for pipeline configuration.
Azure Pipelines Key Features
- Cross-platform support
Build and deploy applications on Windows, Linux, and macOS. Choose between Microsoft-hosted or self-hosted agents depending on your environment needs. - Language-agnostic execution
Supports a wide range of languages such as .NET, Java, Python, Node.js, and more. You can build, test, and deploy virtually any type of application. - YAML pipeline as code
Define pipelines using YAML files stored in your code repository. This enables version control, easier collaboration, and consistent workflows. - Visual pipeline editor
Create and modify pipelines using a drag-and-drop web interface. Ideal for teams that prefer a low-code or UI-driven setup. - Secure secrets management
Store sensitive values as encrypted variables or integrate with Azure Key Vault. Secrets are masked during runtime and hidden in logs. - Custom tasks and templates
Add functionality with marketplace tasks or define your own using scripts. Reuse pipeline logic across projects using YAML templates. - Parallel and matrix jobs
Run multiple jobs at the same time or across different configurations. This reduces build times and improves testing coverage. - Built-in caching
Cache dependencies and files to speed up subsequent pipeline runs. Helps optimize performance and reduce external download times.
Azure Pipelines Important Terminologies
- Pipeline: Defines the full CI/CD process from source code to deployment.
- Stage: Logical grouping of jobs (e.g., build, test, release).
- Job: Set of steps executed together on an agent.
- Step: Single task or command (e.g., script, install, test).
- Agent: Virtual machine that runs jobs (Microsoft-hosted or self-hosted).
- Artifact: Output files (e.g., build results) used in later stages.
- Trigger: Event (e.g., push to branch) that starts the pipeline.
Azure Pipelines Use Cases
- Continuous integration and delivery for web, desktop, and mobile apps.
- Automated testing of code changes with reporting.
- Deployment of infrastructure using IAC tools.
- Create and distribute packages (NuGet, npm, Python).
- Multi-environment deployments with approvals and gates.
- Running pipelines conditionally based on code changes.
- Coordinating microservice build and deploy workflows.
Azure Pipelines Integration Options
- Azure Repos: First-party Git integration.
- GitHub: CI/CD integration with pull request triggers.
- Bitbucket: Connect for builds and deployments.
- Azure Artifacts: Share and consume build outputs.
- Azure Container Registry: Push Docker images from pipelines.
- Azure Kubernetes Service (AKS): Deploy apps to Kubernetes clusters.
- Azure Key Vault: Inject secrets securely into pipeline tasks.
- Terraform/ARM/Bicep: Infrastructure as code support.
- Notification apps (Slack, Teams, Email): Send pipeline status updates through service hooks or messaging tasks.
Azure Pipelines Pricing
- Microsoft-hosted agents
- 1 free parallel job with 1,800 minutes/month included
- $40 per extra parallel job/month (each allows unlimited build time)
- Self-hosted agents
- 1 free parallel job with unlimited minutes/month
- $15 per additional parallel job/month
Azure Pipelines References:
https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services