How to Upgrade Gitlab#

  • backup

  • for each version in upgrade path

    • check

    • upgrade

    • wait for background migrations

Snapshot#

I like to use snapshots, thus we can disable Gitlab Backups during the upgrade process to save some time:

sudo touch /etc/gitlab/skip-auto-backup

Checks#

https://docs.gitlab.com/ee/update/plan_your_upgrade.html#pre-upgrade-and-post-upgrade-checks

sudo gitlab-rake gitlab:check
sudo gitlab-rake gitlab:doctor:secrets

Upgrade Path#

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

Download Packages (optional)#

To download packages in batch:

for v in gitlab-ce=15.11.13-ce.0 gitlab-ce=16.1.6-ce.0 gitlab-ce=16.3.7-ce.0 gitlab-ce=16.7.4-ce.0 gitlab-ce=16.8.1-ce.0; do
  apt-get install --download-only $v
done

Background Migrations#

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

watch 'gitlab-psql -c "SELECT created_at, job_class_name, table_name, column_name, job_arguments FROM batched_background_migrations WHERE status <> 3 ORDER BY created_at DESC;"'