Comparison of the features of both CI/CD tools
GitHub Actions | Azure Pipelines | |
---|---|---|
YML workflow files | Editable in the repo or IDE | 👈 (less strict format) |
GUI builder | Everything as code | Classic & release pipelines only |
Multi-stage pipelines | Uses separate (reusable) workflow files | Uses stage within YML file |
Reusable workflows | Used across GitHub repos & orgs | Uses pipeline templates |
Runs on | Runners - GitHub hosted or self-hosted | Agents - MSFT hosted or self-hosted |
Self-hosted | Runners have labels | Build agents have capabilities |
Jobs | Run in separate VM or containers | 👈 |
Concurrency | Jobs can run in parallel or sequentially | 👈 |
Tasks & Steps | Jobs include one or more tasks/steps | 👈 |
Shell/Script commands | run (default is PWShell) |
script (default is CMD) |
Reusable components | Actions - uses: actions/setup-python@v4 |
Tasks - task: UsePythonVersion@0 |
Community | Actions marketplace | Visual Studio marketplace |
- Using Azure Pipelines to run CodeQL on a GitHub repo @futuredesignUK - GHAS code scanning with GitHub & ADO
- Azure Pipelines App - GitHub Marketplace - Use Pipelines with your code in GitHub
- Azure Boards & GitHub Repos integration - Enable linking GitHub commits, pull requests, and issues to work items
- GitHub Packages - Alternative to Azure Container Registry or DockerHub
- GitHub Pricing Calculator vs Azure DevOps Pricing calculator - Compare costs of both services
- Pipelines To Actions - Convert a sample ADO Pipeline YML to Action workflow (~90% accuracy)
- Migrating from Azure Pipelines to GitHub Actions - Key differences and steps to plan
- Introducing GitHub Actions Importer - Forecast, plan, and facilitate migrations from your CI/CD tool to GitHub Actions
- Migrate Azure DevOps work items to GitHub Issues - PowerShell script to migrate ADO work items to GitHub Issues
- How to start using reusable workflows - Replace multi-stage Azure pipelines with reusable workflows
- Autoscaling with self-hosted GitHub runners - Alternative to self-hosted ADO agents on Azure VM Scale Sets
- Using a matrix for your jobs - Recreate ADO Deployment groups by using matrix jobs to trigger multiple deployments