Upgeade Path: 13.4.1 to latest 14.2.0

Hi,

Having recently taken over a GitLab CE server I need to upgrade it to the latest version, 14.2.0 from 13.4.1.
Looking at the upgrade path, can I confirm that I need to upgrade as follows before I break it?
13.4.1 > 13.12.10 > 14.0.0 > 14.2.0

Using GitLabs upgrade path:

  1. Upgrade to the latest minor version of the preceding major version.
  2. Upgrade to the first minor version ( X.0.Z ) of the target major version.
  3. Proceed with upgrading to a newer release.

This is an Omnibus install. A server snapshot will be taken before upgrading.

Any advise would be much appreciated.

Thanks,
Craig

Hi,

No, your upgrade path is wrong!

As per the docs: Upgrading GitLab | GitLab

13.1.11 -> latest 13.12.Z -> latest 14.0.Z -> 14.1.Z -> latest 14.Y.Z

since you are between 13.1.11 and 13.12.Z you need to upgrade to the latest available 13.12 release. You can search and find the latest 13.12.Z release here: gitlab/gitlab-ce - Packages · packages.gitlab.com which would be 13.12.10 right now. Then you need to go to latest 14.0.Z release, then latest 14.1.Z release, and then the latest 14.2.Z release. You can get an idea from their examples, shown in the screenshot below from the docs:

So, upgrade would be:

  1. Upgrade to 13.12.10
  2. Upgrade to 14.0.7
  3. Upgrade to 14.1.3
  4. Upgrade to 14.2.0

make sure after each upgrade that background migrations have finished and show 0 (zero) before continuing the next upgrade. Upgrading GitLab | GitLab

Please make sure to backup your server or create a snapshot before doing it, just in case it breaks during the upgrade process. This should be a normal procedure for any server upgrade.

Also, there is nothing stopping you to be extra careful, and upgrade from 13.4.1 via every single point release between here and 14.2.0. That’s almost if you like zero downtime upgrade. However, that would mean a lot of updates. I did that once going from 12.9.3 to 14.0 and it was about 40 - 80 upgrades in total. But at least I didn’t cause any issues if I missed a particular upgrade that had an important DB migration in it.

2 Likes

Ah, I see… glad I checked now!
Thank you for the pointers and definitely one to remember going forward. Will make sure to keep on top of the upgrades.

1 Like

Yep, I made the mistake of not checking regularly enough when mine stopped at 12.9.3. I check regularly now, usually once a week to see if upgrades are available, and then do them each week. If the repositories don’t refresh, and I see that no upgrades have been released within say 30 days, this means that the repos aren’t gettting the updates - this was why mine stuck at 12.9.3 and didn’t realise immediately that this was the case - a quick fix just running the bash script as if making a new install to download/refresh the new repo files.

So definitely worth checking once a week to see if any updates for the server are ready to be applied. Saves time otherwise.

1 Like