CASE 138 · KINDLING · 2023
Self-hosted GitLab, retired without losing a commit.
A fintech ran self-hosted GitLab on a 24-core EC2 instance with a Postgres backend, paying for the licence plus operating the infrastructure. The team’s opinion had quietly shifted to "let GitHub Enterprise host it." We migrated 312 repos, 40k issues, and 14 CI pipelines, lost nothing.
Fintech
MIGRATION
2023
RESULTS
What changed, by the numbers.
GITLAB OPERATIONAL HOURS
0
REPOS MIGRATED
312
ISSUES + MRs
40K
CI MIGRATION
14 PIPELINES
HOW IT WENT
The team had built real GitLab muscle: backup procedures, upgrade runbooks, the careful art of major-version migration. They had also stopped enjoying any of it. Two engineers had a quietly disliked "rotate the GitLab on-call" responsibility.
GitHub’s GitLab importer handled repos, issues, merge requests, and milestones — with imperfect-but-acceptable mapping. We wrote a thin remapper for the metadata that fell through the cracks (some custom labels, some GitLab-specific approval rules). CI pipelines got rewritten manually; gitlab-ci syntax doesn’t machine-translate cleanly to GHA.
After ten weeks, GitLab was read-only and the team was on GitHub. The 24-core EC2 instance was terminated; the operational burden ended. Nobody misses the on-call rotation.
RELATED · SAME DOMAIN
Other engagements in this space.
READY WHEN YOU ARE
Let's get your AWS bill (and architecture) in order.
The discovery call is free. You walk away with at least one concrete idea — even if we never work together.