Azure DevOps provides developers with a platform that supports collaboration across the entire software development lifecycle. GitHub is the home for all developers, and provides not only a best-in-class source code management platform, but also many exciting new capabilities like GitHub Actions, GitHub Packages, and GitHub Advanced Security.
Using a GitHub repository as the source code repository with an Azure DevOps project provides developers with the capabilities and advantages of both Azure DevOps and GitHub.
Whether you are starting with a new project, or migrating your repository from Azure Repos to GitHub and looking to connect it back to your existing Azure DevOps project, the process can be quite simple and straightforward, with first-class support for Azure DevOps + GitHub integration from both the Azure DevOps and GitHub platforms.
You will need a GitHub.com account and an Azure DevOps account to get started. If you do not have an existing Azure DevOps account, you can sign in to Azure DevOps using your GitHub.com account as well
If you need to create accounts for these services, please visit these links
If you are creating a new Azure DevOps project, you can start using a GitHub repository for hosting your project's code right from the start.
You can follow this link for a guide on how to create a new Azure DevOps project but when you get to the "Add a repository to your project" step, you can stop there and instad follow these instructions to create a GitHub repository and then connect the GitHub Repository to your Azure Boards Project Once you have this connection set up, you will want to make sure that you link your GitHub Items in Azure Boards
Here is a video showing how to connect Azure Boards to GitHub repos
If you are looking to create a CICD pipeline for your new project with a connected GitHub repo, we encourage you to start with GitHub Actions
If you have an existing Azure DevOps project, with Azure Boards that you are already using for your collaboration planning & tracking and Azure Repos that you are using to store and version your project code, moving your Azure Repos to GitHub is also quite simple.
-
First, create a new GitHub repository with the same repository name as the one that you are using on Azure Repos (this isn't mandatory, but makes it easier to understand which repos were moved between the two platforms later on).
-
Once you have the new GitHub repository, clone the Azure Repo to your machine which will download not only the current version of the code in the default branch, but all the previous revisions and branches as well.
-
Now that you have the entire repository on the local machine, you can change the remote url of the Git repository to the remote url of your new GitHub repository
Once you push your repository to GitHub you can connect the GitHub Repository to your Azure Boards Project and link your GitHub Items to work items in Azure Boards
You can now optionally delete your Azure Repo from your project
If you have Azure Pipelines that were connected to your existing Azure Repo that you migrated to GitHub, you can now connect your Azure Pipeline to the GitHub repository
However, we recommend that you explore migrating your Azure Pipelines builds to GitHub Actions
The pipeline syntax and concepts are very similar, and you can use the Actions built by vendors and the community as well as building your own
You can use this conversion utility to turn your Pipelines files to Actions workflows

