Обновление 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
- проверить состояние запущенной системы