[29] GitLab: pierwszy update

Podczas zwykłej, mniej istotnej aktualizacji skrypty nie mogły przeprowadzić migracji z powodu tego, że baza danych jest na osobnym serwerze i jest ona w innej wersji niż standardowa w paczce debianowej (9.5.2 - 9.5.3).

Po odmowie działania przez skrypty aktualizacyjne wykonałem:

touch /etc/gitlab/skip-auto-migrations

i to pozwoliło zaktualizować pakiet debianowy do końca.

Następnie:

gitlab-ctl reconfigure

przeprowadziło migracje bazy danych itp. (przynajmniej tak twierdzi dokumentacja na stronie projektu).

Standardowo do aktualizacji służy:

gitlab-ctl upgrade

ale nie dawał sobie rady z kopią zapasową bazy danych.

Na koniec można przyrwócić domyślne działanie aktualizacji na przyszłość:

rm /etc/gitlab/skip-auto-migrations

Restart całego gitlaba wykonuje się przez:

gitlab-ctl restart

Do wszystkiego trzeba użyć sudo lub wykonywać polecenia jako root.

Standardowa ręczna procedura aktualizacji powinna wyglądać ponoć tak:

Najpierw trzeba zatrzymać aplikacje:

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
gitlab-rake gitlab:backup:create

Jeśli chcemy wykluczyć tworzenie kopii bazy danych:

gitlab-rake gitlab:backup:create SKIP=db

Potem zainstalować pakiet:

pkg -i gitlab_x.x.x-omnibus.xxx.deb

Potem dokonać migracji:

gitlab-ctl reconfigure
gitlab-ctl restart

Czyli zmieściłem się prawie w standardowej procedurze.

AKTUALIZACJA:

Dla zewnętrznej bazy danych (postgresql na dedykowanym serwerze) należy wykonać:

ln -s /usr/bin/pg_dump /usr/bin/psql /opt/gitlab/bin/

by gitlab korzystał z dostępnej w systemie wersji pd_dump, zgodnej z wersją serwera, zamiast dostarczonej razem z gitlab-.