Migrate from Bitbucket to GitHub

Bitbucket Data Center repositories move from inside your network, straight into GitHub. Bitbucket Pipelines and the Jenkins or Bamboo builds behind your repositories move onto reusable GitHub workflows.

Data Center repositories in the app; Bitbucket Pipelines with our team
bitbucket-pipelines.ymlBitbucket
image: node:20

pipelines:
  pull-requests:
    '**':
      - step:
          caches: [node]
          script:
            - npm ci
            - npm test
.github/workflows/ci.ymlGitHub Actions
name: ci
on: [pull_request]
jobs:
  test:
    uses: acme/platform-workflows/.github/workflows/node-package.yml@v2
    with:
      node-version: "20"
    secrets: inherit
A Bitbucket Pipelines step becomes a call to your Node building block.

Trusted by teams moving to GitHub at scale

What moves

Everything your Bitbucket estate runs on.

  • Data Center repositories

    Moved with full history, in runs you can pause and retry.

  • Bitbucket Pipelines

    Converted onto reusable workflows by our migration team.

  • Jenkins and Bamboo builds

    The CI behind your repositories moves with its own importer or our team.

  • Projects and permissions

    Projects and repository access mapped to GitHub organizations and teams.

  • Secure connection

    A CodeCargo operator inside your network talks to Data Center; nothing is opened to the internet.

  • Large estates

    Retries when Bitbucket is busy, so runs keep going without babysitting.

Data Center is reached by an operator you run, not exposed to us
Inside your network
Discover, scan, and migrate them at the same time
Every pipeline
exports stream straight into GitHub
Nothing on disk

How it maps

Bitbucket concepts, in GitHub Actions terms.

Repository variables become GitHub secrets and variables, and deployment variables become environment secrets.

How Bitbucket configuration maps to GitHub Actions
BitbucketGitHub Actions
pipelines: default:on: push
pipelines: pull-requests:on: pull_request
pipelines: branches: main:on: push: branches: [main]
image: node:20container: node:20
caches: [node]actions/cache
artifacts:actions/upload-artifact
deployment: productionenvironment: production
trigger: manualEnvironment with required reviewers
pipe: atlassian/aws-s3-deployaws-actions/configure-aws-credentials (OIDC) + aws s3

No surprises at cutover.

The parts that need a person are named in the plan up front, so they are decided before cutover, not discovered during it.

What needs a person

  • Git LFS objects, which follow the repository in a separate step
  • SSH host keys for the operator that reaches Data Center
  • Bitbucket Cloud repositories, which have no export and move with our team

Bitbucket-specific

  • An operator in your network connects to Data Center, with OAuth or password sign-in
  • Exports stream into GitHub without landing on disk
  • The connection is locked while a migration runs, so nothing changes underneath it

The same method for every Bitbucket estate.

See the full method
  1. 01Inventory everything
  2. 02Convert families, not files
  3. 03Ship in waves of pull requests
  4. 04Cut over with rollback

Your migration, your way

Run it yourself, or run it with us.

Self-serve

Migration Assistant

The whole program in one app: inventory, families, waves of pull requests and cutover. Built for platform teams who want to drive.

  • Inventory, families, waves and cutover in one app
  • Pull requests to repository owners, not tickets
  • Start free on 10 repositories, no card
Start free on 10 repositories →

With our migration team

Migration services

We scope, plan and run the move alongside your team, on the same platform, for the estates and deadlines that can't slip.

  • GitHub Enterprise Cloud to EMU and data-residency moves
  • Scoping, wave plans and cutover support
  • The custom pipelines nobody wants to touch
  • A team that has done this at enterprise scale

After the move

Land clean, then stay clean.

CodeCargo Manage keeps every repository on the standards and building blocks you migrated onto, fixing drift as pull requests, as far on its own as you allow.

See how Manage works

Bitbucket migration questions.

Don't see yours? Our migration team will walk through your Bitbucket estate with you.

Do you support Bitbucket Data Center and Server?

Yes. Bitbucket Data Center repositories move in the app, through an operator that runs inside your network, so your server is never exposed to the internet.

What about Bitbucket Cloud?

Bitbucket Cloud has no repository export, so Cloud repositories and Bitbucket Pipelines are moved with our migration team.

Our Bitbucket repositories are built by Jenkins or Bamboo. Do those move too?

Yes. Jenkins jobs move with the Jenkins importer, and Bamboo plans with our migration team, onto the same reusable workflows.

Find out how many weeks
your migration takes.

Or start free on 10 repositories.

Migrate Bitbucket to GitHub: Repos and Pipelines | CodeCargo