Close
AlgoliaLogoLight
Close full mode
logo

GitHub Actions VS Azure DevOps Pipelines

Git RepositoryEdit on Github
GitHub ActionsAzure DevOps Pipelines
Number of concurrent jobs for a private projectFor free plan, 20 concurrent jobs https://docs.github.com/en/actions/reference/usage-limits-billing-and-administration#usage-limits only one job, not support concurrent (Microsoft hosted, private repo, free option) https://docs.microsoft.com/en-us/azure/devops/pipelines/licensing/concurrent-jobs?view=azure-devops&tabs=ms-hosted#how-much-do-parallel-jobs-cost
Maximum time for each job6 hours for each job and 72 hours for each workflow1 hour
Total build time for a month (private repo)2,000 minutes (33 hours, 20 minutes) https://docs.github.com/en/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions#about-billing-for-github-actions 1,800 minutes (30 hours)
Deploy to App Service container with a custom image and Azure container registryhttps://docs.microsoft.com/en-us/azure/app-service/deploy-container-github-action?tabs=publish-profilehttps://docs.microsoft.com/en-us/azure/devops/pipelines/targets/webapp-on-container-linux?view=azure-devops&tabs=dotnet-core%2Cyaml
Number of extensions7,241 Actions (Feb 18th, 2021) https://github.com/marketplace?type=actions 1,182 Pipelines (Feb 18th, 2021) https://marketplace.visualstudio.com/search?target=AzureDevOps&category=Azure%20Pipelines&sortBy=Installs
Code example to deploy ASP.NET Core MVC to Azure App Service (Code)https://github.com/codesanook/codesanook-ef-note/blob/main/.github/workflows/deploy-to-app-service-code.ymlhttps://github.com/codesanook/codesanook-ef-note/blob/main/azure-devops-pipelines-app-service-code.yml
Supported languages for creating an extensionSupport container based action so you can use any languages. https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action Typescript or PowerShell
Code scanningBuilt-in code scanning and can integrate with 3rd party security gatesOnly integrate with 3rd party security gates
Automation purposeGitHub Actions can be used to automate make code reviews, branch management, and issue tracking.Azure Pipelines are primarily used to automate CI/CD
Conditional expression syntax${{ env.str == 'ABC' && env.num == 123 }}and(eq(variables.str, 'ABC'), eq(variables.num, 123))
Build, ReleaseGitHub Packages give a good integration experience if already used GitHub repositoryAzure Artifacts supports granular permissions control, auditing, and anonymous access
Previous
Deploy Oauth2 Proxy to App Service container
Next
Run database migration