Skip to content

octodemo/gei-demo

Repository files navigation

GitHub Enterprise Importer Demo

This repo can be used to demo GitHub Enterprise Importer (GEI)

Prerequisites

GitHub CLI
GitHub Enterprise Importer CLI
Powershell
Nodejs
gh-migration-analyzer
gh-repo-stats
Blob storage if migrating from GHES

Demo

  1. Make sure gh-gei is up to date by running
gh extension upgrade github/gh-gei
  1. Copy setenv.sh.orig to setenv.sh and populate it with values for your migration.
  2. Run gh-migration-analyzer.sh to demo the use of gh-migration-analyzer.
  3. Run gh-repo-stats.sh to demo gh-repo-stats.
  4. Run migrate-repo.sh to demo a repo migration.
  5. (Optional) Run gen-migration-script.sh to demo generating a migration script.
  6. (Optional, only for GitHub.com to GHEC) Run migrate-org.sh to demo an org migration.
  7. Run gen-mannequin-mapping.sh to demo generating a mannequin mapping file after a migration.
  8. Fill out the third field of the usermapping.csv file, make sure the users are members of the org, then run reclaim-mannequins.sh.
  9. Source repository locking/unlocking:
    Demonstrate source repository locking by setting LOCK_SOURCE_REPO to true in setenv.sh and running migrate-repo.sh.
    Unlock the source repository by running source-lock-remove.sh.

Notes

GEI limitations

LFS

The process to migrate repos that contain files larger than 100mb is as follows:

  1. Migrate the repo to LFS on the source system.
  2. Migrate the repo using GEI
  3. Migrate the LFS files as described here.

Note: Due to an issue with LFS, it's better to run the following, rather than git lfs push github --all

for object_id in $(git lfs ls-files --long | awk '{print $1}'); do
   git lfs push --object-id github "$object_id"
done

Releases

No releases published

Packages

No packages published

Languages