Session

From Azure DevOps to GitHub one step at a time

Many teams want to move from Azure DevOps to GitHub. But they cannot stop all work to move everything at once. Repositories, pipelines, work items, packages and secrets are all connected. If you move one part, the other parts can break.

In this talk, I show how to migrate in small, safe steps. First, we look at the GitHub options: GitHub Enterprise Cloud, Enterprise Managed Users, Enterprise Server, and the new data residency option in the EU. You will learn which option fits which organization. Then we move the code with GitHub Enterprise Importer. I explain what it moves, such as Git history and pull requests, and what it does not move, such as pipelines, wikis and work items. You will see the easiest ways to handle your PBIs, including keeping Azure Boards linked to GitHub.

Next, we keep your existing Azure Pipelines running against code that now lives in GitHub. I show how Fallout separates your build logic from the YAML pipeline. This makes it easy to run the same build in Azure Pipelines and GitHub Actions. We also publish NuGet and npm packages from GitHub Actions to Azure Artifacts, and let Azure Pipelines use packages from GitHub Packages.

Finally, we cover secrets, OIDC instead of long-lived credentials, branch protection with rulesets, self-hosted runners, and security scanning. You will leave with a clear plan you can start on Monday.


Why teams move, and why moving everything at once is risky
GitHub options: GHEC, EMU, GHES, data residency, licensing differences
Moving repositories with GitHub Enterprise Importer: what works, what does not
Work items: keep Azure Boards with AB# links, or migrate to GitHub Issues and Projects
Bridging: Azure Pipelines building GitHub repositories through the GitHub App connection
Fallout: build logic in code, thin YAML on both platforms
Packages in both directions: GitHub Actions to Azure Artifacts, Azure Pipelines from GitHub Packages
Secrets and identity: variable groups and Key Vault versus GitHub secrets and environments, OIDC (workload identity federation) to Azure
Other items: branch policies to rulesets, approvals to environments, agents to runners, GitHub Actions Importer, Advanced Security

Dennis Doomen

4x Microsoft MVP | Director Innovation & Technology | Coding Architect | Open-Source Dev | Speaker | Trainer | .NET Tech Lead | .NET Architect

The Hague, The Netherlands

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top