Рубрики
Uncategorized

Устройство модернизации GitLab

Обновление или установка GitLab может быть очень простым или очень сложным усилением, в зависимости от того, как Йо … с меткой GitLab, Git, DevOps, Linux.

Обновление или установка GitLab может быть очень простым или очень сложным усилением, в зависимости от того, как вы его выполняете, а какие ваши требования.

В моей установке у меня была Gitlab версия 12.6.3-EE.0, установленная с помощью Omnibus на Ubuntu 18.04. На данный момент последняя версия GitLab составляет 13,3, но я решил обновить до последней версии 13.2.x, поскольку я считаю более стабильным. Я буду обновляться до 13,3.x, когда появляется 13,4.

Это необработанная информация, которую я использовал при выборе пути обновления:

Я решил выполнить обновление на нескольких этапах, 7, чтобы быть точнее:

  • 12.6.3 -> 12.6.8 -> 12.7.9 -> 12.8.10 -> 12.9.10 -> 12.10.14 -> 13.0.14 ->13.2.9

Я выбрал путь, как я хотел выполнить обновления между второстепенной версией для второстепенной версии. Кроме того, обновление 12.6.3 -> 12.6.8 было добавлено для более безопасного патча до обновления версии патч (согласно семантической версии Major.minor.Patch).

Помимо обновления APT, были необходимы два ручных вмешательства:

  • Обновите настройки единорога при обновлении от 12.6.3-EE.0 до 12.6.8-EE.0
  • Обновите версию Postgres на V11 после установки GitLab версии 12.8.10-EE.0

Следующий скрипт не должен работать автоматически, так как все может пойти не так с каждым обновлением. Выполните функциональные тесты между каждым обновлением, чтобы убедиться, что GitLab работает должным образом.

И VOILA! My Gitlab Setup живет и счастлив: https://git.directory

Команды должны работать с административными привилегиями (Sudo):

#!/bin/bash

# perform an apt update
apt update

# check the installed gitlab version
dpkg --list | grep -i gitlab

# check the available gitlab versions
apt-cache policy gitlab-ee

# get gitlab env information
gitlab-rake gitlab:env:info

# after every upgrade run the reconfigure / restart
# to make sure nothing is broken before the next upgrade
function check_restart_gitlab {
    gitlab-ctl reconfigure
    gitlab-ctl restart
}

# perform upgrade from 12.6.3-ee.0 to 12.6.8-ee.0
apt install gitlab-ee=12.6.8-ee.0
check_restart_gitlab
# manual step
# set in gitlab.rc:
#
#    unicorn['worker_memory_limit_min'] = "1024 * 1 << 20"
#    unicorn['worker_memory_limit_max'] = "1280 * 1 << 20"
check_restart_gitlab

# perform upgrade from 12.6.8-ee.0 to 12.7.9-ee.0
apt install gitlab-ee=12.7.9-ee.0
check_restart_gitlab

apt install gitlab-ee=12.8.10-ee.0
# perform upgrade from 12.7.9-ee.0 to 12.8.10-ee.0
apt install gitlab-ee=12.8.10-ee.0
check_restart_gitlab

# upgrade postgres to version 11
# https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server
gitlab-ctl pg-upgrade
gitlab-ctl pg-upgrade -V 11
check_restart_gitlab

# perform upgrade from 12.8.10-ee.0 to 12.9.10-ee.0
apt install gitlab-ee=12.9.10-ee.0
check_restart_gitlab

# perform upgrade from 12.9.10-ee.0 to 12.10.14-ee.0
apt install gitlab-ee=12.10.14-ee.0
check_restart_gitlab

# perform upgrade from 12.10.14-ee.0 to 13.0.14-ee.0
apt install gitlab-ee=13.0.14-ee.0
check_restart_gitlab

# perform upgrade from 13.0.14-ee.0 to 13.2.9-ee.0
apt install gitlab-ee=13.2.9-ee.0
check_restart_gitlab

Оригинал: «https://dev.to/ader1990/gitlab-upgrade-paths-108d»