TL;DR; : Choose Azure – it can integrate also with BitBucket repository
For my previous experience with AzureDevOps, please see http://msprogrammer.serviciipeweb.ro/category/azure-devops/ ,
I have had the opportunity to play with BitBucket CI this weekend. Nothing fance, just a CI + test + artifacts for a .NET solution.
Both have yaml files for CI /CD
Both have support for Docker
However there were some things in BitBucket that were unpleaseant
– for the artifacts in BitBucket, I cannot find how to name it differently (https://confluence.atlassian.com/bitbucket/using-artifacts-in-steps-935389074.html ) . For Azure DevOps, you can put a name : https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/build-artifacts?view=azure-devops&tabs=yaml
– artifacts in BitBucket and a .tar and a .gs file . That means, for a regular Windows user, 2 operations to get the sources. For AzureDevops, it is zip.
– both have test concepts. However, AzureDevOps let you see the CodeCoverage and test details( see a run at https://dev.azure.com/ignatandrei0674/WebAPI2CLI/_build?definitionId=7&_a=summary ) – BitBucket just list the number of tests passed.
– For a repository, BitBucket is giving 50 minutes per month free (https://bitbucket.org/blog/everything-you-need-to-know-about-build-minutes-in-bitbucket-pipelines ) -that means something like 2 build per day . Azure Devops is giving 1800 minutes free https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/