Skip to main content
Cloud DevOps Solutions
Get a quote Talk to an engineer

Azure DevOps to GitHub Migration

We migrate your organisation from Azure DevOps to GitHub, repositories, Classic and YAML pipelines, package feeds, and work items, with a phased approach that lets teams move at their own pace without blocking active development.

Problems we solve

  • Developers prefer GitHub but the organisation is locked into Azure DevOps contracts
  • Azure Pipelines Classic jobs need to be rebuilt when moving repos to GitHub
  • Work item history in Azure Boards needs to be preserved or migrated to GitHub Issues/Projects
  • Multiple teams moving at different paces, need a migration plan that does not block anyone
  • Git LFS assets and large binary history making migration slow and error-prone

What's included

Migration assessment: repo count, pipeline complexity, work item volume, Azure Artifacts usage
GitHub organisation and team structure design
Git history migration: Azure Repos to GitHub (including LFS, branch protection parity)
Azure Pipelines to GitHub Actions workflow translation
Work item export and GitHub Issues/Projects import (or documentation of what stays in ADO)
Azure Artifacts to GitHub Packages migration (NuGet, npm, Maven)
Parallel operation period with validation checklist
Azure DevOps decommission plan and timeline

Our approach

  1. 01

    Migration scoping

    We inventory repositories, pipelines, work items, artifact feeds, and active users. We produce a migration complexity matrix and recommend a phased approach starting with the lowest-risk teams.

  2. 02

    GitHub organisation setup

    We create the GitHub organisation, configure SSO with Entra ID, design team and permission structures, and set organisation-level branch protection defaults.

  3. 03

    Repository migration

    We migrate Git history using the GitHub Enterprise Importer or the gh CLI for large repos. Branch protection rules are recreated. LFS objects are transferred to GitHub LFS storage.

  4. 04

    Pipeline migration

    Azure Pipelines YAML is translated to GitHub Actions. Classic pipelines are converted to YAML first if not already done. We handle service connections (replacing with OIDC federation), agent pools (replacing with ARC or GitHub-hosted runners), and variable groups (replacing with GitHub Environments and Secrets).

  5. 05

    Validation and cutover

    Both Azure DevOps and GitHub run in parallel for an agreed validation period. Teams validate builds, deployments, and PR flows on GitHub before cutting over. Azure DevOps is set to read-only after cutover, archived once the agreed retention period has passed.

Tech stack

GitHubGitHub ActionsGitHub ProjectsGitHub PackagesEntra ID SSOOIDC federationgh CLIactions-runner-controller

Results

We publish results only when a client has approved them. See how we publish case studies and a sample report.

FAQ

Can we migrate work items from Azure Boards to GitHub Issues?
Partially. Azure DevOps has a rich work item schema (epics, features, tasks, bugs with custom fields) that does not map 1:1 to GitHub Issues. We typically migrate open work items to GitHub Issues/Projects and archive closed items in Azure DevOps export. For complex portfolio management, some teams keep Azure Boards for planning while moving code to GitHub.
How do we handle Azure Artifacts (package feeds) during migration?
GitHub Packages supports NuGet, npm, and Maven, with container images held in the GitHub Container registry. We migrate package feeds and update package references in all projects. Some packages may stay on Azure Artifacts during transition if there are complex authentication dependencies.
What happens to our Azure DevOps service connections?
Service connections are replaced by GitHub OIDC federation for AWS/Azure deployments, or by GitHub Secrets for third-party services. OIDC is strongly preferred as it reduces reliance on long-lived credentials.
Do we need GitHub Enterprise for this migration?
GitHub Enterprise is recommended for organisations needing SAML SSO, audit log streaming, advanced security features, or GitHub Connect. For smaller teams without those requirements, GitHub Team is often sufficient.
How long does the migration take?
It depends on repository count, pipeline complexity, work item volume and Azure Artifacts usage. Larger organisations are usually migrated in phased batches. Timelines are confirmed in the written scope after the assessment.

Ready to get started?

Book a free technical consultation. No commitment, just an honest conversation about your goals.

Written by Saddique Khan, AWS & Azure Certified · Last updated October 2025