Updating Gitlab on Rocky8

Photo by Lan Gao on Unsplash

Sysadmin tasks have a ragbag of responsibilities. Updating widely used on-premise services is a particular joy. This is an example – gitlab-ce. This is a git server and is definitely one of the better ones but still – don’t let everyone thing its easy. Make sure your senior developers are around to back you up.

So on Rocky Linux it’s installed by a package called gitlab-ce. Now in my case I only get to update it every 6 months, so I was running version 16.0.4 and the current version is 16.7.0.

From the release notes, I can see then I have 5 hops to become current.

GitLab 16: 16.0.8 (only instances with lots of users or large pipeline variables history) > 16.1.5 (instances with NPM packages in their package registry) > 16.2.8 (only instances with large pipeline variables history) > 16.3.6 > 16.7.z > latest 16.Y.Z.

Firstly I had to increase the size of a few disks as our pesky devs are using this alot for docker and container images. First I update the operating system with:

dnf update --exclude=gitlab-ce
shutdown -r now

Now I want to make sure gitlab is in a good state:

sudo gitlab-rake gitlab:check
sudo gitlab-rake gitlab:doctor:secrets
sudo gitlab-rake db:migrate:status

But also make use of the GUI from the Admin area.

I check my gitlab backups are fine, and system backups exist and off we go.

sudo dnf update   gitlab-ce-16.0.8-ce.0.el8 

The output can sometimes have warnings and odd things. One thing is that it often changes redis but doesn’t restart it.

sudo gitlab-ctl restart redis

So now repeat …

dnf update    gitlab-ce-16.2.8-ce.0.el8
... check its ok by commands and GUI
dnf update    gitlab-ce-16.3.6-ce.0.el8
... check its ok by commands and GUI
dnf update    gitlab-ce-16.7.0-ce.0.el8


I had an odd message:
	[2024-01-09T10:11:33+00:00] WARN: This release of Cinc Client became end of life (EOL) on May 1st 2023. Please update to a supported release t
	o receive new features, bug fixes, and security updates.

From the issues page on gitlab.com I find:

This is incorrect, as cinc 17 (based on chef 17) is supported until April 2024 - https://www.chef.io/blog/announcement-about-change-in-infra-client-17-end-of-life-timeline
We will work to patch out this warning from displaying in GitLab 16.0, but it will be warning in all GitLab 15 versions, and is safe to ignore.

I also had a notice that posgres default going forward is V14 and that I can update to it using:

sudo gitlab-ctl pg-upgrade -V 14

Anyway right now this update went well. We didn’t need to update to a different major version which usually involves more reading.

Other gotchas from memory include : It does background jobs after an update which have to complete; jumping to major versions may include a migration which takes more space than you have.