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 Postgres 9.2.x used in Gitlab 8.10 release to Postgres 9.6.x used in 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
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.
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