Upgrading very old gitlab

Hi there,

I got a Centos 6 instance (EOLed, yes…) and a Gitlab 7.8.
This config is soooo old that upgrade paths are not working by now (some gems are not found when trying to upgrade/migrate).

Commands die like:
Could not find gemnasium-gitlab-service-0.2.4 in any of the sources
Could not find rake-10.4.2 in any of the sources
Looking them up and installing manually for 7 major version change looks very tedious…

Is there a way to migrate repos and gitlab data to a completely new Gitlab instance?


Just for the sake of anyone else with this trouble: as I dont need gemnasium, I removed it from the Gems file, then ran

bundle install --no-deployment

After that the upgrading commands worked as expected.

Update 2: because of dependency checking I had to install the gemnasium.
I did it from github.
gem install needed cmake 3.5+, got it from epel.

This is a nightmare…

Yep a nightmare, this is why the omnibus installation is far better. You use the gitlab-ce or gitlab-ee package, and just install/upgrade nice and easy providing the upgrade path is followed. What you are experiencing is basically because a source installation was done which means it is going to be far harder to do anything with. I think only really experienced users should do such a thing to be honest, otherwise better to stick to the omnibus version.

Probably would be better for you to find a way to export all your repositories, and then import them on a new installation of Gitlab.

Ok, I disappeared a bit, meanwhile now I got some ide what Im doing instead of the [screen] [dog] [chair] situation.

Here are the things:
Get the emnasium-gitlab-service from github

Change gemfile to
gem “gemnasium-gitlab-service”, “~> 0.2”, :github => ‘/gemnasium/gemnasium-gitlab-service’, :branch => ‘master’

bundle config local.gemnasium-gitlab-service /home/git/gemnasium-gitlab-service/

ofc, change the path to your cloned git repo

And in Gemfile.lock change mimemagic 0.3.0. to 0.3.9

After that you’ll need to do a
bundle install --no-deployment

if that is a production instance, copy it , run the command and copy the lock file back only

You’ll have to restore these files before chekcing out newer branch.

Using these things turned out to be quite smooth.

I’m having the exact same problem. Could you flesh out some of the steps you did to make this work? I am new to ruby and gemfiles etc, so I am a bit lost on steps regarding getting gemnasium from gitlab etc.