Skip to content

Commit 714815a

Browse files
committed
adding additional migration tooling
1 parent ee49718 commit 714815a

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

_posts/2024-09-18-github-migration-tools.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,39 +35,41 @@ Based on my migration experience, here are additional tools I've found useful, o
3535
| - Projects v2 | [Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-projects-count.sh),<br>[gh-migrate-project](https://github.com/timrogers/gh-migrate-project?tab=readme-ov-file) | CLI utility can help migrate org-level projects |
3636
| - Org Projects (classic) | [Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-projects-count-classic.sh) | Deprecated |
3737
| - Repo Projects (classic) | N/a | Deprecated |
38-
| **GitHub apps** | [Analysis script for org apps](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps.sh),<br>[Analysis script by org app count](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps-count.sh) | The [manifest flow](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) help when recreating apps manually |
38+
| **GitHub apps** | [Analysis script for org apps](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps.sh),<br>[Analysis script by org app count](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-apps-count.sh) | The [manifest flow](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) help when recreating apps manually<br>Check out my [post on Enterprise Apps](/posts/github-enterprise-apps/) to programmatically install apps in orgs |
3939
| **Teams / membership** | [gh-migrate-teams](https://github.com/mona-actions/gh-migrate-teams),<br>[gh-migrate-team-permission](https://github.com/mona-actions/gh-migrate-team-permission),<br>[Recreate security in repos & teams](https://github.com/joshjohanning/github-misc-scripts/tree/main/scripts/recreate-security-in-repositories-and-teams),<br>[Create teams from list](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/create-teams-from-list.sh),<br>[gh-collaborators](https://github.com/katiem0/gh-collaborators) | Use the [recreation script](https://github.com/joshjohanning/github-misc-scripts/tree/main/scripts/recreate-security-in-repositories-and-teams) if wanting to mirror teams/membership |
4040
| **User settings** | N/a | PATs, SSH keys, notification settings |
41-
| **Webhook secrets** | [Script to analyze webhooks](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-repositories-webhooks-csv.sh),<br>[gh-migrate-webhook-secrets CLI](https://github.com/mona-actions/gh-migrate-webhook-secrets) | Repo-level webhooks migrate, but webhook secrets need to be recreated |
41+
| **Webhook secrets** | [Script to analyze webhooks](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-repositories-webhooks-csv.sh),<br>[gh-migrate-webhook-secrets](https://github.com/mona-actions/gh-migrate-webhook-secrets) | Repo-level webhooks migrate, but webhook secrets need to be recreated |
4242
| **Actions** | | Action runs don't migrate, workflows will migrate with code, and everything below will need to be recreated |
4343
| - Repo/org secrets | [gh-secrets-migrator](https://github.com/dylan-smith/gh-secrets-migrator),<br>[gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file) | Actions secrets values can only be retrieved during Actions runtime |
4444
| - Environments | [gh-environments](https://github.com/katiem0/gh-environments) | Environments need to be recreated |
4545
| - Variables | [gh-seva](https://github.com/katiem0/gh-seva?tab=readme-ov-file) | Variables need to be recreated |
4646
| - Self-hosted runners | [Analysis script for all org runners](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-organization-runners.sh),<br>[Analysis script for all repo runners in org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-repository-runners.sh),<br> [Analysis script for repo+org runners in org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organization-self-hosted-runners-all-runners.sh),<br>[Analysis script for enterprise runners](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-enterprise-self-hosted-runners.sh) | Runners need to be re-created |
4747
| - Larger runners | N/a | Larger GitHub-hosted runners need to be re-created; no API for large runners |
48-
| **Rulesets** | [gh-migrate-rulesets](https://github.com/katiem0/gh-migrate-rulesets) | Rulesets are not migrated |
49-
| **Packages** | [See package migration posts](/categories/packages/) | Packages are not migrated |
48+
| **Rulesets** | [gh-migrate-rulesets](https://github.com/katiem0/gh-migrate-rulesets) | Rulesets are not migrated - command line tools can download and re-push packages though |
49+
| **Packages** | See my [posts](/categories/packages/) [npm](/posts/github-packages-migrate-npm-packages/), [NuGet](/posts/github-packages-migrate-nuget-packages/), [Maven](/posts/github-packages-migrate-maven-packages/), and [Docker](/posts/github-packages-migrate-docker-containers/)<br>[gh-migrate-packages](https://github.com/mona-actions/gh-migrate-packages) | Packages are not migrated |
5050
| **Code owners** | [Analysis script](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-organizations-repositories-codeowner-usage.sh),<br>[Code owners mapping helper](https://github.com/joshjohanning/github-misc-scripts/blob/main/scripts/update-codeowners-mappings.js) | Updating org/team names |
5151
| **LFS** | [Migrate LFS artifacts](/posts/migrate-git-lfs-artifacts/) | LFS is not migrated |
5252
| **Username mapping** | [Getting SAML entities at enterprise](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-saml-identities-in-enterprise.sh),<br>[Getting SAML entities at org](https://github.com/joshjohanning/github-misc-scripts/blob/main/gh-cli/get-saml-identities-in-organization.sh) | Getting SAML identities can help map personal github.com accounts by tying their email to their identity provider credential |
5353
| **Repository visibility** | [gh-repo-visibility](https://github.com/mona-actions/gh-repo-visibility) | Repos migrate as private by [default](https://docs.github.com/en/migrations/using-github-enterprise-importer/migrating-between-github-products/overview-of-a-migration-between-github-products#setting-repository-visibility) |
5454
| **Deploy keys** | [gh-migrate-deploy-keys](https://github.com/mona-actions/gh-migrate-deploy-keys) | Deploy keys are not migrated |
5555
| **Submodules** | N/a | URLs (org/repo name) may need to be updated |
56+
| **Stars** | N/a | Repo stars cannot be migrated |
5657

5758
## Migration Planning Tooling
5859

5960
These tools are more for helping you plan / track a migration. For example, you can use some of these tools to potentially identify problem repositories before you start the migration (e.g. with `git-sizer`, repositories that contain large files committed), or otherwise repositories with a lot of pull requests that will take longer to migrate.
6061

6162
| Tool | Description |
6263
| --- | --- |
63-
| **[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)** | GitHub CLI extension to pull statistics on repository metadata used in GitHub migrations |
64+
| **[gh-repo-stats](https://github.com/mona-actions/gh-repo-stats)** & **[gh-repo-stats-plus](https://github.com/mona-actions/gh-repo-stats-plus)** | GitHub CLI extension to pull statistics on repository metadata used in GitHub migrations |
65+
| **[git-sizer](https://github.com/github/git-sizer)** & **[gh-sizer](https://github.com/timrogers/gh-sizer)** | Compute various size metrics for a Git repository, flagging those that might cause problems |
6466
| **[gh-migration-audit](https://github.com/timrogers/gh-migration-audit)** | Audits GitHub repositories to highlight data that cannot be automatically migrated using GitHub's migration tools |
6567
| **[gh ado2gh inventory-report](https://docs.github.com/en/enterprise-cloud@latest/migrations/overview/planning-your-migration-to-github#building-a-basic-inventory-of-the-repositories-you-want-to-migrate)** | Azure DevOps to GitHub inventory report using the GEI commands |
66-
| **[git-sizer](https://github.com/github/git-sizer)** & **[gh-sizer](https://github.com/timrogers/gh-sizer)** | Compute various size metrics for a Git repository, flagging those that might cause problems |
67-
| **[gh-bbs-analyzer](https://github.com/mona-actions/gh-bbs-analyzer)** | GitHub CLI extension for analyzing BitBucket Server to get migration statistics |
6868
| **[gh-gitlab-stats](https://github.com/mona-actions/gh-gitlab-stats)** | GitHub CLI extension to pull statistics on GitLab repository and server metadata |
69+
| **[gh-bbs-analyzer](https://github.com/mona-actions/gh-bbs-analyzer)** | GitHub CLI extension for analyzing BitBucket Server to get migration statistics |
70+
| **[gh-bbc-exporter](https://github.com/katiem0/gh-bbc-exporter)** | GitHub CLI extension to create a Bitbucket Cloud archive for import to GitHub Cloud |
6971
| **[gh-pma](https://github.com/mona-actions/gh-pma)** | Post-Migration Audit (PMA) Extension For GitHub CLI |
70-
| **[github-migration-monitor](https://github.com/timrogers/github-migration-monitor)** | Monitors GitHub Enterprise Importer (GEI) migrations for an organization through a simple command line tool |
72+
| **[github-migration-monitor](https://github.com/timrogers/github-migration-monitor)** & **[gh-migration-monitor](https://github.com/mona-actions/gh-migration-monitor)** | Monitor GitHub Enterprise Importer (GEI) migrations with command line tools and real-time terminal UI dashboards |
7173

7274
## Non-technical Migration Planning Tips
7375

0 commit comments

Comments
 (0)