github | azure-devops

GitHub vs Azure DevOps - For Code

Comparing GitHub and Azure DevOps for code management and related features. Hopefully, this post will encourage you to switch to GitHub.

Abhith Rajan
Abhith RajanFebruary 01, 2022 · 6 min read · Last Updated:

I have been using Azure DevOps as well as GitHub for many years now. All open-source stuff is on GitHub (some private repositories too.), and all work stuff is on Azure DevOps. I love Azure DevOps, but for code management, I prefer using GitHub instead.

Since both are owned by Microsoft, and seeing the recent developments and features all happening on the GitHub side compared to Azure DevOps, my mind is pretty clear on which to choose for the future. It’s not just me, but many people agree on the same. Jump to the 40:20 on the below video and hear yourself.

So, I would like to see this change (move all our repo to GitHub) in my organization. Currently, we use Azure DevOps for both code & CI/CD pipelines.

Since it is an organization-wide change, I cannot just go and tell my manager about this change. Instead, I have to present what benefits we are getting through this change.

For that, I thought of creating an internal presentation and side-by-side this public blog.

So in this post, I will try to list out things that attract me towards GitHub for code management.

Dependabot

Automated dependency updates built into GitHub.

One of the main attracting factors towards GitHub. Since we have many projects and tracking all the dependencies manually is not possible at all.

👉 Keep all your packages up to date with Dependabot

Dependabot’s automated PRs with updated packages/dependencies help a lot.

Dependabot PRs
Dependabot PRs

And the security alerts,

Dependabot Alerts
Dependabot Alerts

Code Scanning

Code scanning is GitHub’s native SAST (Static Application Security Testing) tool, a developer-first approach to SAST that enables vulnerabilities to be found and remediated effortlessly before they reach production.

Here’s what GitHub code scanning can help you do:

  • Find, triage, and prioritize vulnerabilities in your code.
  • See security issues in your pull requests as part of your review process.
  • Prevent new vulnerabilities from making it to production.
  • Schedule scans for specific days and times, or trigger scans when a specific event occurs in the repository, such as a push.

The CodeQL action part of the code scanning features of GitHub is good even though comes at a price (of course free for open source). And I prefer the security-and-quality query suite for the CodeQL.

Code Scanning Alerts
Code Scanning Alerts

Marketplace and integrations

Both Azure DevOps and GitHub have many integrations available. But IMHO, GitHub has a better collection, growing too.

JIRA

We manage our work items through Jira. One of the main things we are missing in Azure DevOps is the Jira integration whereas there’s an official integration available between JIRA and GitHub.

Linking work items to code have many benefits.

Development links in the Jira issue details
Development links in the Jira issue details
GitHub Branches
GitHub Branches
GitHub Commits
GitHub Commits
GitHub PRs
GitHub PRs

GitHub issues, boards all are awesome but JIRA is a bit more advanced as well as customizable for software project management, so can’t ask to switch to GitHub at this time (still I prefer GitHub).

GitHub Checks

There are several GitHub apps which is capable of running powerful checks against the code changes in the repository. Apps that perform continuous integration, code linting, or code scanning services and provide detailed feedback on commits.

GitHub Checks
GitHub Checks

Azure Pipelines vs GitHub Actions

Azure Pipelines are way matured compared to GitHub Actions.

But yes, a complete switch to GitHub from Azure DevOps might be possible by replacing Azure DevOps pipelines with GitHub actions. But people mostly hate change when things are working fine with the current setup. So one step at a time in terms of change.

i.e First code migration, then slowly pipelines. The first candidate for GitHub Actions can be PR builds.

Pricing

Looks complicated on GitHub. In most places, it is like Contact Sales. The change would be an easier task if the billing can be done through an Azure Subscription but looks like it is not possible at the moment.


If you plan to migrate to GitHub, the following sections will help you.

Code Migration From Azure DevOps to GitHub

The code repository migration from Azure DevOps to GitHub is pretty easy.

  • Import repository
    Import repository
    Import repository
  • Give your Azure DevOps Repo URL, and fill in the rest.
  • And on the next screen, it will ask for credentials to access your DevOps repo. Git credentials for the Azure DevOps repo will work fine. You can generate that one on the clone window on Azure DevOps as shown below.
    Azure DevOps > Git Credentials
    Azure DevOps > Git Credentials

That’s it. You will not miss any code history after migration.

Change Azure Pipeline Repository From Azure DevOps to GitHub

Since in our case, we have all pipelines already configured in the DevOps. And don’t want to change any of them other than the repository location. This can be done by following the below steps.

  • Edit the existing pipeline
  • In the upper right corner open the … menu
  • Pick the ⚡ Triggers option
  • Click the YAML tab
  • Click the Get Sources option
  • Reconfigure the source repo to GitHub.

You might need to choose a GitHub connection to pick the repo. For that, better to install the Azure Pipelines GitHub app and give it access to the repository. Which will create a connection back to your Azure DevOps account.

Final Notes

After reading this,

  • Are you convinced that GitHub is better compared to Azure DevOps for code?
  • If you are a GitHub pro, did I miss any goodness of GitHub over Azure DevOps in terms of code management?

Let me know in the comments below 👇

Additional Resources


Abhith Rajan

Written byAbhith Rajan
Abhith Rajan is an aspiring software engineer with more than nine years of experience and has a proven successful track record of delivering technology-based products and services.
Connect

Is this page helpful?

This page is open source. Noticed a typo? Or something unclear?
Improve this page on GitHub

Related ArticlesView All

Related VideosView All

Break issues into actionable tasks - GitHub Checkout

Plan and track projects closer to your code #DemoDays

The new GitHub Issues

Related Tools & ServicesView All

toptal.com

gitignore.io

Create useful .gitignore files for your project by selecting from 509 Operating System, IDE, and Programming Language .gitignore templates
github-contributions.now.sh

GitHub Contributions Chart Generator

See all of your GitHub contributions in one image!