Upgrading from old version of Gitlab CE

I've came across an old instance of Gitlab running on CentOS 6.

The old instance version is 8.10.5 installed using omnibus package. The omnibus package contains Postgres database, which needs to be updated from 9.2.x used in 8.10 release to 9.6.x used in the current Gitlab 10.4.4.

The documentation is not entirely complete, as I be not many people are running Gitlab instance from 2015 that hasn't been updated. There are few mentions of gitlab-ctl pg-upgrade command but the command is not available in Gitlab 8.10.5, trying to run that will provoke gitlab-ctl to give the following response -- "i don't know that command"

What I eventually figured out, and what needs to be done is to update to version 9.5.10 first -- that would update included postgres to 9.6.x

# yum install gitlab-ce-9.5.10-ce.0.el6.x86_64.rpm

Then update gitlab to the latest version.

# yum install gitlab-ce

Additional notes

If you need to test backups for an old version of Gitlab, you can download and install that version of the package from here -- https://packages.gitlab.com/app/gitlab/gitlab-ce/search?filter=rpms&q=gitlab-ce-8.10&dist=

The package description for the specific package I'm using is here -- https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-8.10.5-ce.0.el6.x86_64.rpm

The page also contains installation instructions. Once download and install is finished, run reconfigure script.

# gitlab-ctl reconfigure

The script will create the location /var/opt/gitlab/backups/ into which Gitlab backup files should be copied

Restore gitlab from backup using the following command

# gitlab-rake gitlab:backup:restore

Then reboot the system. This should get you to the point where it is possible to test Gitlab upgrade process.

GPG error

Older version of Gitlab ship with unsigned packages and yum install command would refuse to run returning this error message -- "Package is not signed".

A workaround is to set gpgcheck=0 in /etc/yum.repos.d/gitlab_gitlab-ce.repo