DevOps platform migration

GitHub Enterprise Migration

Techrupt Digital moves repositories, pipelines and permissions from Azure DevOps, Bitbucket and GitLab to GitHub Enterprise. We use GitHub's own migration tools, rehearse every wave and cut over without teams losing their history or their week.

Last updated

Proudly collaborated with

  • Aritzia
  • BC Cancer
  • MEC
  • Meridian University
  • Contracts 365
  • KCU
  • Sunrise
  • Transworld

Why migrations drag

Moving code is the easy part

Git history moves in minutes. What takes planning is everything around it. Pipelines have to be rewritten as GitHub Actions, service connections become secrets or federated credentials, permissions need mapping to teams, and developers need to know what changed on Monday morning. Our consultants hold the Azure DevOps Engineer Expert certification and have run both platforms in production, so we plan for those pieces from the start. We're based in Metro Vancouver and work with teams across Canada and the US.

What moves and how

A migration plan built around your teams

We migrate in waves, starting with a low-risk pilot group, so problems surface when they're cheap to fix.

Migration guide

Migrating from Azure DevOps to GitHub Enterprise

How Azure DevOps maps to GitHub, what pipeline conversion really involves, and how to plan waves and cutovers.

How Azure DevOps maps to GitHub

Most Azure DevOps features have a GitHub equivalent, but they don't all need to move at the same time:

  • Azure Repos to GitHub repositories
  • Azure Pipelines to GitHub Actions workflows
  • Azure Boards to GitHub Issues and Projects, or kept and linked to GitHub
  • Azure Artifacts to GitHub Packages, or existing feeds kept
  • Service connections to Actions secrets or OpenID Connect federation with Azure
  • Teams and permissions to GitHub teams and repository roles

Many organizations move repositories and pipelines first, keep Boards and Artifacts, and revisit them later once teams are settled on GitHub.

Converting pipelines to GitHub Actions

GitHub Actions Importer can audit your existing pipelines and produce draft GitHub Actions workflows, which removes much of the repetitive work. The output still needs review. Custom tasks, variable groups, approvals and deployment environments rarely map one to one.

We convert, test and tidy each pipeline, and switch deployments to Azure over to OpenID Connect federation, so no long-lived credentials are stored in GitHub.

Identity: Enterprise Managed Users or standard accounts

With Enterprise Managed Users, GitHub accounts are created, updated and removed by your identity provider, such as Microsoft Entra ID, and belong to the company rather than the developer. With standard accounts, developers use their own GitHub accounts, linked to your enterprise through single sign-on.

Enterprise Managed Users gives the most control and suits organizations with strict access requirements, at the cost of those accounts not contributing to public repositories outside your enterprise. The choice is hard to reverse later, so we settle it during planning.

Planning waves and cutover

Big-bang migrations are where history gets lost and teams lose a week. A wave plan looks like this:

  • A pilot wave with a willing team and non-critical repositories
  • Dry-run migrations for each wave, with validation reports
  • A freeze window per team rather than for the whole organization
  • Integrations, webhooks and service hooks redirected to GitHub
  • Source repositories archived read-only once the move is validated
  • Hypercare support for each team in the days after cutover

Each team experiences a short, planned freeze with support on hand, rather than an organization-wide disruption.

What needs its own plan

Repository migration is well automated. Several other pieces are not, and they're where timelines slip if nobody planned for them:

  • Pipeline run history, which stays in Azure DevOps for reference
  • Variable groups, secure files and service connections
  • Branch policies, which become GitHub branch protection or rulesets
  • Azure Artifacts feeds and the pipelines that publish to them
  • Wikis, dashboards and service hooks
  • Integrations with chat, ticketing and deployment tools

We inventory all of these during the assessment and give each one an owner and an approach, so there are no surprises in the week of cutover.

How we work

Let's figure out what you need

Every engagement starts with understanding your business. From there we plan, then deliver with senior Microsoft-certified consultants at every step.

  1. STEP 01

    Consultation

    You're the expert in your business. We learn your goals, constraints and current environment so we can recommend what will actually move the needle.

  2. STEP 02

    Gameplan

    You get a clear plan with scope, timeline and costs, built by senior specialists, so you know exactly what you're getting before work begins.

  3. STEP 03

    Implementation

    Our certified team delivers, documents and hands over, with measurable results and support after go-live.

FAQ

GitHub Enterprise migration, answered

Should we move from Azure DevOps to GitHub at all?

Not always. Azure DevOps remains supported, and some teams are well served by it. Organizations usually move for GitHub Copilot's deeper features on GitHub, GitHub Advanced Security, a larger Actions marketplace, or to consolidate onto one platform. We start with an assessment that states plainly whether moving is worth it for you.

What does GitHub Enterprise Importer migrate?

GitHub Enterprise Importer migrates repositories with their full Git history, and for supported sources such as Azure DevOps it can also bring pull requests and related metadata. Pipelines, work items and some settings are handled separately, which is why we plan those as their own workstreams.

Can we keep using Azure Boards?

Yes. Azure Boards integrates with GitHub, so commits and pull requests on GitHub can link to work items in Azure Boards. Many organizations move code and pipelines to GitHub first and keep Boards, or move planning to GitHub Projects later.

How do you avoid disrupting development?

We migrate in waves, rehearse each one with dry runs, and schedule cutovers so each team has a short freeze rather than a lost week. Developers get onboarding sessions before their wave, and we stay on hand for support right after cutover.

Should we use Enterprise Managed Users?

Enterprise Managed Users gives you full control of accounts from your identity provider, such as Microsoft Entra ID, and suits organizations with strict access requirements. The trade-off is that managed accounts can't contribute to public repositories outside your enterprise. We walk through the trade-offs before you commit, because it's hard to change later.

How long does a GitHub migration take?

It depends mostly on how many repositories and pipelines you have and how customized the pipelines are. A small organization can move in a few waves, while large programs run over several months. We give you a timeline after the assessment, once the inventory is known.

Can you migrate from Bitbucket or GitLab as well?

Yes. GitHub Enterprise Importer supports Bitbucket Server and Data Center, GitLab repositories move with full Git history through mirroring, and GitHub Actions Importer can convert pipelines from GitLab, Jenkins, Bitbucket Pipelines and others. The planning approach is the same as for Azure DevOps.

Do we lose pull request history?

No. For Azure DevOps, GitHub Enterprise Importer brings pull requests across with their discussion, so code review history isn't lost. Exactly what's supported varies by source platform, so we confirm it in a dry run before each wave.

Can developers keep working during the migration?

Yes. Only the team being migrated pauses, for a short freeze during its own cutover. Everyone else keeps working on the platform they're on until their wave, and we schedule waves around release dates.

Insights

Latest Infrastructure as Code articles

All insights →

Next steps

Move to GitHub without losing a sprint

Book a free 30-minute call. We'll look at your current setup and outline what a migration would involve, including whether it's worth doing.