GitLab CE/EE. Обновление до определенной версии
Долгое время не обновлял GitLab CE на сервере, теперь при попытке обновления версии GitLab CE стала появляться ошибка:
Подготовка к распаковке …/gitlab-ce_17.0.0-ce.0_amd64.deb …
gitlab preinstall: It seems you are upgrading from 16.9 to 17.0.
gitlab preinstall: It is required to upgrade to the latest 16.11.x version first before proceeding.
gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/#upgrading-to-a-new-major-version
dpkg: ошибка при обработке архива /var/cache/apt/archives/gitlab-ce_17.0.0-ce.0_amd64.deb (--unpack):
new gitlab-ce package pre-installation script subprocess returned error exit status 1
При обработке следующих пакетов произошли ошибки:
/var/cache/apt/archives/gitlab-ce_17.0.0-ce.0_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Оказалось, с моей текущей версии нельзя перейти на новую мажорную версию, и сам текст ошибки говорит мне о том, что надо сперва с моей версии 16.9 обновиться до последней версии 16.11.x, а только потом обновляться до следующей мажорной версии. Ниже описанные действия есть в официальной документации, данная ссылка на мой взгляд более точная, чем указана в тексте ошибки.
Обновляемся на Ubuntu 20.04, поэтому все команды действительны для Debian/Ubuntu и версии GitLab Community Edition:
Идентифицируем номер версии для обновления:
# Ubuntu/Debian
sudo apt-cache madison gitlab-ce
Получаем следующий вывод (взято несколько строк с верху начиная от текущей имеющейся версии):
gitlab-ce | 17.0.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.11.2-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.11.1-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.11.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.5-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.4-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.3-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.2-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.1-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.10.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.9.8-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.9.7-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
gitlab-ce | 16.9.6-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu focal/main amd64 Packages
Обновляемся до необходимой версии, выбирая её из списка выше. Для обновления до версии 16.9.7-ce.0
выполняем команду:
sudo apt install gitlab-ce=16.9.7-ce.0
Можно пробовать обновлять сразу через несколько версий, а не последовательно. Добравшись до необходимой версии можно запустить обычный процесс обновления пакетов, который, уже успешно должен установить новую мажорную версию пакета.