gitlab
May 29, 2023

Обновление GitLab в docker

Официальная документация по обновлению GitLab:

https://docs.gitlab.com/ee/update/

Обновлять можно только в строгой последовательности как описано здесь:

https://docs.gitlab.com/ee/update/#upgrade-paths

Существует онлайн сервис для автоматического просчета шагов обновления, раньше она работула здесь:

https://gitlab-com.gitlab.io/support/toolbox/upgrade-path

но сейча снедоступна. Имеется исходный код этой утилиты для локального запуска:

https://gitlab.com/gitlab-com/support/toolbox/upgrade-path

В ней выбираем исходную версию на текущий момент и конечную, которую мы хотим получить после обновления, после чго получим пошаково версии апгрейда.

Полезные команды, которые надо запускать внутри контейнера с gitlab:

Перед началом апгрейда (перед заменой образа на новый) обязательно нужно проверить не запущены ли фоновые миграции

gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining'
gitlab-rails runner -e production 'puts Gitlab::Database::BackgroundMigrationJob.pending.count'

Если контейнер падает с permission ошибками, следует запустить утилиту фикации:

update-permissions - обновить права на все файлы и папки, бывает полезно если по ошибке сменились права на некоторые каталоги

gitlab-ctl reconfigure - переконфигурировать гитлаб. При этом данные не удаляются, а лишь перепроверяются конфиги и считываются заново

gitlab-rake gitlab:env:info и gitlab-rake gitlab:check - проверить состояние запущенной системы