A detailed update procedure was given in the previous update. (from v16 to 17.1.1) showing intermediate updates in the above link.
GItLab had been reminding me of an update for some time. I note that there has been other intermediate updates since 17.1.1, so I thought it was time to get this over and done with before a Major update is needed since major updates require intermediate upfates to be successful.
The latest versions of GItlab can be identified by visiting official GitLab support pages such as this one…
Fortunately, this will be a Minor update and only one intermediate update is needed to go from 17.1.1 to 17.4.0 (as shown below) This is a very useful relatively recent feature of GitLab and the latest upgrade path can be determined here.

I have of course backed up the stable 17.1.1 running on my XCP-ng server before this upgrade.

With the sense of safety derived from this Snapshot, which means I can always go back to this functional state. I will be taking some risks. In other words, I will rely only on intrinsic backups performed by the upgrade commands.
After my XCP-ng back up, I didn’t even stop GitLab and logged in with Putty
login as: tamer
tamer@62.31.247.101's password:
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-117-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sun 22 Sep 20:59:43 UTC 2024
System load: 0.5244140625 Processes: 250
Usage of /: 47.4% of 70.16GB Users logged in: 0
Memory usage: 91% IPv4 address for eth0: 62.31.247.101
Swap usage: 0%
* Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
just raised the bar for easy, resilient and secure K8s cluster deployment.
https://ubuntu.com/engage/secure-kubernetes-at-the-edge
116 updates can be applied immediately.
To see these additional updates run: apt list --upgradable
*** System restart required ***
Last login: Thu Jul 11 14:56:47 2024 from 78.183.97.184
tamer@git:~$
A quick lookup on the internet suggests the following Gilab stop commands;
$sudo gitlab-ctl stop
and
$sudo gitlab-ctl runner stop
Then once installation is complete, run the complimentary start commands;
$sudo gitlab-ctl restart
and
$sudo gitlab-ctl runner start
However, in the past, I have simply executed the update command (apt-get install – as shown below) and this has worked.
I am not sure about updating Ubuntu OS…. SO I executed the GitLab Upgrade command;
apt-get install gitlab-ee=17.3.3-ee.0
This went to work immediately and I could see a message to say the “Database being backed up but nothing else”… Interesting…
I can see that a lot of work is taking place and this makes me wonder if I should occasionally be doing some house keeping by deleting any unused backup files…
Below is a summary... Once that is done, it begins to unpack and write over previous version - details omitted here as it is pages and pages long...
tamer@git:~$
tamer@git:~$ sudo apt-get install gitlab-ee=17.3.3-ee.0
[sudo] password for tamer:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be upgraded:
gitlab-ee
1 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
Need to get 1,157 MB of archives.
After this operation, 122 MB of additional disk space will be used.
Get:1 https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu jammy/main amd64 gitlab-ee amd64 17.3.3-ee.0 [1,157 MB]
Fetched 1,157 MB in 27s (42.6 MB/s)
(Reading database ... 214779 files and directories currently installed.)
Preparing to unpack .../gitlab-ee_17.3.3-ee.0_amd64.deb ...
gitlab preinstall: Automatically backing up only the GitLab SQL database (excluding everything else!)
2024-09-22 21:25:47 UTC -- Dumping database ...
2024-09-22 21:25:47 UTC -- Dumping PostgreSQL database gitlabhq_production ...
2024-09-22 21:26:01 UTC -- [DONE]
2024-09-22 21:26:01 UTC -- Dumping database ... done
2024-09-22 21:26:01 UTC -- Dumping repositories ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping uploads ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping builds ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping artifacts ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping pages ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping lfs objects ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping terraform states ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping container registry images ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping packages ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping ci secure files ... [SKIPPED]
2024-09-22 21:26:01 UTC -- Dumping external diffs ...
2024-09-22 21:26:07 UTC -- Dumping external diffs ... done
2024-09-22 21:26:07 UTC -- Creating backup archive: 1727040345_2024_09_22_17.1.1-ee_gitlab_backup.tar ...
2024-09-22 21:26:07 UTC -- Creating backup archive: 1727040345_2024_09_22_17.1.1-ee_gitlab_backup.tar ... done
2024-09-22 21:26:07 UTC -- Uploading backup archive to remote storage ... [SKIPPED]
2024-09-22 21:26:07 UTC -- Deleting old backups ... [SKIPPED]
2024-09-22 21:26:07 UTC -- Deleting tar staging files ...
2024-09-22 21:26:07 UTC -- Cleaning up /var/opt/gitlab/backups/backup_information.yml
2024-09-22 21:26:07 UTC -- Cleaning up /var/opt/gitlab/backups/db
2024-09-22 21:26:07 UTC -- Cleaning up /var/opt/gitlab/backups/external_diffs.tar.gz
2024-09-22 21:26:07 UTC -- Deleting tar staging files ... done
2024-09-22 21:26:07 UTC -- Deleting backups/tmp ...
2024-09-22 21:26:07 UTC -- Deleting backups/tmp ... done
2024-09-22 21:26:07 UTC -- Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
2024-09-22 21:26:07 UTC -- Backup 1727040345_2024_09_22_17.1.1-ee is done.
2024-09-22 21:26:07 UTC -- Deleting backup and restore PID file ... done
gitlab preinstall: Automatically backing up /etc/gitlab
Running configuration backup
Creating configuration backup archive: gitlab_config_1727040395_2024_09_22.tar
/etc/gitlab/
/etc/gitlab/gitlab-secrets.json
/etc/gitlab/ssl/
/etc/gitlab/ssl/git.bristoldynamics.net.key
/etc/gitlab/ssl/git.bristoldynamics.net.crt-staging
/etc/gitlab/ssl/git.bristoldynamics.net.key-staging
/etc/gitlab/ssl/git.bristoldynamics.net.crt
/etc/gitlab/trusted-certs/
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab.rb.save
Configuration backup archive complete: /etc/gitlab/config_backup/gitlab_config_1727040395_2024_09_22.tar
Keeping all older configuration backups
Unpacking gitlab-ee (17.3.3-ee.0) over (17.1.1-ee.0) ...
So here’s confirmation of upgrade ..

One last step before we’re good to go… Restart Services. I went with the default selected ones as shown below.

Feedback after this was;

Voila!! We are now running 17.3.3
I have noticed that GitLab is not reminding me of availability of an upgrade… But we note that from 17.5 GitLab will require Open SSL version 3 to connect to this server.


(sigh..17.4.0 is available!!, so) we will need to repeat the above procedure…
Here we go again!!
apt-get install gitlab-ee=17.4.0-ee.0
Oh dear!!
I forgot to backup that intermediate (successful upgrade to 17.3.3) .
Let’s hope this works….

We’re informed that our Kernel also needs to be updated. This is an OS issue that I will take a look at another time.
This time fewer Services need to be restarted. Again, we go with default recommendation

And the result is… Success!! We’re now running version 17.4.0

OK. I am backing this up on XCP-ng so that we are certain about the upgrades.
End of log and this post – 2024 09 22 23:06