@sheogorath I'm going through similar, but opted to run my own git server on a linode so that I'm never in the situation of having to migrate again (e.g. if Google buys gitlab...)
Still don't have a CI solution yet but I'll worry about that more later.
Hoping a good git federation solutions comes about that works regardless of where the git repo is.
@AliceWonder If you use GitLab, I have something for you:
https://octo.sh/Sheogorath/ansible-infrastructure/tree/master/roles/gitlab-runner
Otherwise have a look at doneCI, that's fun as well :)