gitlab Upgrade
einer veralteten 13.x.y Instanz auf 14.6.0
Mit Jahresende bin ich vor dem Problem gestanden, einen in die Jahre gekommen Proxmox Linux Container mit installiertem gitlab upzugraden. Diese Geschichte hat sich durch eigenes Verschulden als Odyssee entpuppt, da ich nicht willens war, der existenten Dokumentation die nötige Aufmerksamkeit angedeihen zu lassen, und mich stattdessen zu einem, meiner Ungeduld geschuldeten, expliziten Update/Upgrade über verschiedene Versionsstände hinweg
apt-getinstall gitlab-ce=x.y.z-ce.0
hinreißen habe lassen. Diese »Kopf durch die Wand«-Strategie endete immer in einer Fehlermeldung seitens der gitlab-Upgrade-Skripts.
Da mit Proxmox mit einem Mausklick ein Backup eines Containers angelegt werden kann, wurden alle Update- & Upgrade-Schritte innerhalb einer Kopie des originalen Containers durchgeführt. Mit
apt-get update
apt-get dist-upgrade
wurde der Container Ubuntu 16 LTS (Xenial) samt github auf den letzten Stand gebracht. Da Xenial seitens gitlab ab Version 14.x nicht mehr unterstützt wird, ist der Container durch einen 2-fachen do-release-update-Zyklus von
# Ubuntu 16 LTS (Xenial)->Ubuntu 18 LTS (Bionic)->Ubuntu 20 LTS (Focal)
do-release-upgrade
auf Ubuntu 20 LTS (Focal) upgegraded worden. Mit folgendem Befehl
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
wurden dann die Paketquellen für github auf den neuesten Stand gebracht und folgender Upgrade-Pfad durchexerziert. Nach jedem Update wurde der Container sicherheitshalber neu gestartet.
# 13.x.y -> 14.0.11 -> 14.1.8 -> 14.2.6
apt-get install gitlab-ce=14.0.11-ce.0
# reboot
apt-get install gitlab-ce=14.1.8-ce.0
# reboot
apt-get install gitlab-ce=14.2.6-ce
Hinweis: Es wurde die Community-Edition upgedatet, für die Enterprise-Version ändern sich die Befehle entsprechend. Das letzte Update von 14.2.6 auf 14.6.0, aktuell während des Verfassens dieses Postings, wurde klassisch mit einem
apt-get update
durchgeführt. Dieser Update-Reigen führte aber zu einem kleineren Problem, das allerdings mit
# Sidekiq: ... Running? ... no
# Try fixing it:
# sudo -u git -H RAILS_ENV=production bin/background_jobs start
gitlab-rake gitlab:check
wieder verschwand.