Moving from a server with a manual install of 7.6.0 to another server with Omnibus install of 7.11.2

I own a few servers and on one is an installation of GitLab 7.6.0 that was installed manually by a group of friends doing a project for a large community. I let them have the hosting space and let them do their thing. Well the site got a good amount of traffic and regular users but the original friends have been offline for over 8 months now leaving the site in my hands.

I wanted to move the GitLab install to it’s own dedicated server alone where nothing else is going on to affect it.
It’s also running on a old version of GitLab, approaching close to a year old now so I wanted to do update it.

I installed the Omnibus GitLab CE version on the new server and even got the chance to update it that day too. The system is quite easy. But as far as I know, to move the system to a new install, it needs to be the same version. Well they’re not so I have to update the old server’s GitLab to 7.11.2 somehow so I can do the backup transfer to the new server.

I’d hate messing up a system with users actively using it.

So I’m in a bit of a predicament where I need to successfully upgrade a manual installation. There is little documentation on this, I’ve been reading through GitLab CE docs for almost 3 days now.

The section: Upgrading from non-Omnibus PostgreSQL to an Omnibus installation in-place
I believe may be the most relevant. PostgreSQL is what they used for the database. I was even able to export the database for the site.

How will the omnibus installation know how to setup over the manual installation’s setup, especially when I am unsure about the all the stuff that needs to be in the gitlab.rb

I think the best question is is this going to work alright considering that the the manual installation is 7.6.0?

First of all welcome!

Since you are using postgres and the version is not that old, I’d say the upgrade path is fairly easy. The docs surely need an update.

I responded to a similar issue here. For your case I would follow these steps.

  1. Download omnibus 7.6.0 from the archives
  2. Install it on the new server and run sudo gitlab-ctl reconfigure at least once.
  3. Backup the manual install.
  4. Transfer that backup file to /var/opt/gitlab/backups on the new server
  5. On the new server run the restore process
  6. Edit gitlab.rb to match gitlab.yml
  7. Run gitlab-ctl reconfigure and test that everything works
  8. Take a backup with sudo gitlab-rake gitlab:backup:create just in case
  9. Upgrade to latest version of omnibus first manually invoking dpkg or yum, then install the package server script so that the updates in the future are as easy as updating the server.

If the above works, then schedule a downtime window to properly take a backup with the db unmodified from new transactions. You can use the broadcast message feature (admin/broadcast_messages) to notify the users.

As for the gitlab.yml -> gitlab.rb, there is a script in https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/support/gitlab_yml_converter.rb that does the heavy work. Just bare in mind that some settings might have been transfered to the admin area. For a full list of options see gitlab.rb.template.

Good luck :v: