Hey all, I have an old server (running GitLab 11.0.2 on Ubuntu 14.04) that I want to migrate to a new server (GitLab 14.5.2 running on Ubuntu 20.04.3). Looking around, I understood that for this to work I first have to upgrade my old server so it matches versions with the new one.
I have found an upgrade path from GitLab 11.11.8 to latest, but I couldn’t find anything about getting 11.0.2 to 11.11.8, so I’m not sure how to go on about it, especially considering I also need to upgrade my OS.
I’ve managed to form a rough idea for an upgrade path, but I’m not sure about it:
- Upgrade OS from Ubuntu 14.04 > 16.04 > 18.04
- Upgrade GitLab from 11x > 12x > 13x
- Upgrade OS from Ubuntu 18.04 > 20.04
- Upgrade GitLab from 13x > 14.x
More information to note:
- Unlike the old server, the new server runs GitLab via Docker.
- Our Projects are stored on a NetApp volume that is mounted on the server, and I’d like to keep it that way (preferably with the same path).
- Both machines are running on VMs.
- Old server has only local users, but the new server will have LDAP configured.
Pardon if this post is a bit mixed with the Migration category, I didn’t know what’s relevant considering I want to upgrade for the sake of migration.
Thanks in advance,
Hi, you will have problems if you upgrade the OS before upgrading Gitlab. The procedure should be:
- Upgrade Gitlab up to the latest Gitlab version available for Ubuntu 14.04.
- Upgrade to Ubuntu 16.04.
- Upgrade Gitlab up to the latest Gitlab version available for Ubuntu 16.04.
- Upgrade to Ubuntu 18.04.
- Do the same for Gitlab as per points 1 and 3 for Ubuntu 18.04
- Upgrade to Ubuntu 20.04 if you wish and repeat the Gitlab upgrades to get to latest.
Also note that Gitlab cannot be restored to versions other than what is installed. Therefore, if a Gitlab Omnibus install from the deb packages, then a backup from this can only be restored to this. You cannot restore it to a source installation, and you cannot restore it to a docker version of Gitlab. Gitlab source installations can only be restored to Gitlab source installations, same that Docker backups can only be restored to docker installations.
If you wish to migrate to docker, then you will need to manually export all your repositories from the old installation and import them into your docker installation, create all your users again from scratch or use LDAP to save doing that.
As for your storage, depending on how that netapp volume is mounted, but NFS is deprecated in later versions of Gitlab (14.x) so that will make it a problem for you. Alternatively, if it is mounted as iscsi as a block device and mounted as a partition, then technically it shouldn’t be an issue.
Thank you for the thorough answer.
Now it’s time to prepare myself for manually transferring 970+ projects