Nach einiger Zeit habe ich meine GitLab Instance, die als Docker Service auf meinem Server läuft heruntergefahren um ein Update einzuspielen.
sudo docker stop gitlab
sudo docker rm gitlab
sudo docker pull gitlab/gitlab-ce:latest
Leider ist GitLab danach nicht mehr richtig hochgefahren und ich konnte den Dienst nicht mehr nutzen, was sehr ärgerlich ist!
Ich habe mich also auf die Suche nach dem Problem gemacht. Also als erstes die Logs aufräumen und das Environment starten.
Das Log “logs/reconfigure/*timestamp*.log” hat folgende Zeile enthalten:
Your current database version is too old to be migrated. You should upgrade to GitLab 11.11.0 before moving to this version. Please see https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations
Meine Version ist wohl zu alt um um sie einfach zu aktualisieren. Ärgerlich!
Wie also das Problem lösen, ohne mit Datenverlust rechnen zu müssen?
Es lässt sich relativ einfach über Docker eine ganz bestimmte Version von GitLab zu beziehen.
Nun habe ich folgenden Befehl ausgefüllt um als erstes auf die Version 11.11 hoch zu kommen:
sudo docker run --detach \
--hostname git.niefuend.org \
--publish 8929:80 --publish 4433:443 --publish 2289:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.11.0-ce.0
Nachdem das Update auf die Version 11 ohne Probleme durchlief konnte ich auf die neuste Version (12) upgraden.
sudo docker run --detach \
--hostname git.niefuend.org \
--publish 8929:80 --publish 4433:443 --publish 2289:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
Ab jetzt kann ich den Dienst, in der neusten Version, wieder ganz normal benutzen. Das wichtigste dabei ist, das ab jetzt alle updates gemacht werden können, ohne das das System nicht mehr richtig hochfährt.
Eigentlich ganz einfach, wenn man Grundkenntnisse in Docker und GitLab hat.
Ist euch bereits etwas ähnliches passiert?