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.