Как обновить gitlab ubuntu

Обновлено: 02.07.2024

Рассмотрим процесс установки и настройки веб-инструмента жизненного цикла DevOps на Linux Ubuntu Server на примере версий 18.04 и 20.04. За основу взята официальная инструкция с сайта GitLab. В нашей инструкции приведен пример установки как платной. так и бесплатной версий программы.

Подготовка сервера

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

1. Обновление списков пакетов

При желании обновить установленные пакеты, также можно выполнить:

2. Время

Установим часовой пояс:

timedatectl set-timezone Europe/Moscow

* данная команда задаст настройки для московского времени. Все файлы с временными зонами находятся в каталоге /usr/share/zoneinfo.

Для автоматической синхронизации времени ставим пакет:

apt-get install chrony

И разрешаем автозапуск сервиса:

systemctl enable chrony

3. Настройка брандмауэра

По умолчанию, в Ubuntu брандмауэр настроен на то, чтобы принимать любые пакеты. Но если у нас он настроен на блокировку, нужно добавить порты 80 и 443.

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

И чтобы сохранить правила, устанавливаем iptables-persistent:

apt-get install iptables-persistent

. и выполняем команду:

Установка GitLab

Установку выполним в два шага — установка необходимых компонентов и, собственно, установка GitLab.

1. Необходимые компоненты

apt-get install curl openssh-server ca-certificates

Для отправки уведомлений, установим также postfix:

apt-get install postfix

При запросе типа конфигурации, выбираем Internet Site (если уведомления должны отправляться наружу) или Local only (уведомления в пределах сервера):

Выбираем тип конфигурации для Postfix

* при получении других запросов во время установки postfix можно ответить по умолчанию, нажимая Enter.

2. Установка GitLab

а) для платной версии:

б) для бесплатной:

После установки репозитория, устанавливаем сам GitLab.

а) платную версию:

apt-get install gitlab-ee

б) бесплатную:

apt-get install gitlab-ce

Если установка прошла успешно, мы должны увидеть:

It looks like GitLab has not been configured yet; skipping the upgrade script.


_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/

Thank you for installing GitLab!

3. Конфигурируем веб-адрес

Для запуска и корректной работы портала мы должны задать external_url. Для этого открываем файл:

Нам нужно только изменить параметр external_url:

Данная операция займет какое-то время.

Меняем пароль для администратора gitlab

После система попросит ввести логин и пароль — вводим логин root и пароль, который только-что придумали.

Настройка GitLab

Приведем некоторые примеры настроек, которые могут оказаться полезными.

Русский интерфейс

По умолчанию, портал устанавливается с интерфейсом на английском. Для смены языка, кликаем по иконке в правом верхнем углу и выбираем Settings:

Переходим к настройкам в GitLab

В меню слева нажимаем по Preferences:

Кликаем по пункту меню Preferences

В подразделе Localization выбираем нужный нам язык и первый день недели:

Выбираем языковые настройки для интерфейса GitLab

Сохранияем настройки и перезапускаем страницу для применения нового языка.

Создание репозитория и подключение к нему

Попробуем создать проект и подключиться к нему из Linux. Также для теста мы создадим файл и закинем его в наш репозиторий.

В веб-интерфейсе GitLab создаем новый проект:

Кликаем по кнопке Новый проект

Задаем имя проекта, оставляем или редактируем URL, выбираем уровень доступа. После кликаем по кнопке Создать проект:

Заполняем поля для создания нового проекта в GitLab

Для примера попробуем подключиться с компьютера Linux к нашему репозиторию и закинуть на него тестовый файл.

Как установить самую последнюю версию Git в Ubuntu

Установить Git на Ubuntu очень легко. Git доступен в главном репозитории Ubuntu и вы можете его установить с помощью терминала:

Достаточно легко, не так ли?

Существует лишь небольшая проблема (которая может и не быть проблемой вовсе), и это версия Git'а, которую он устанавливает.

В системе LTS стабильность программного обеспечения имеет первостепенное значение, поэтому Ubuntu 18.04 и другие дистрибутивы часто предоставляют более старую, но стабильную версию программного обеспечения, которая хорошо протестирована с выпуском дистрибутива.

Поэтому, когда вы проверите версию Git'а, вы увидите, что на самом деле установлена версия, которая старше, чем текущая версия Git'а, доступная на сайте Git-проекта:

На момент написания данной статьи версия, доступная на сайте, была 2.25. Так как же тогда установить последний Git на Ubuntu?

Установка последней версии Git в дистрибутивах Linux, основанных на Ubuntu

Один из способов - установка из исходных текстов. Этот крутой старый метод - не для всех. К счастью, есть PPA, доступный от команды Ubuntu Git Maintainers, который вы можете использовать, чтобы легко установить последнюю стабильную версию Git.

Даже если вы ранее устанавливали Git с помощью apt, он будет обновлен до последней стабильной версии.

Прелесть использования PPA заключается в том, что если будет выпущена новая стабильная версия Git'а, то вы получите её с обновлениями системы. Просто обновите Ubuntu, чтобы получить последнюю стабильную версию Git'а.

Настройка конфигурации Git (для разработчиков)

Если вы установили Git для разработки, то вскоре вы начнете клонировать репозиторий, вносить изменения и коммитить их.

Если вы попытаетесь закоммитить свой код, вы можете увидеть ошибку 'Пожалуйста, скажите мне, кто вы', подобную этой:

Она возникает потому, что вы не настроили в Git'е свои персональные данные, которые являются обязательными.

Как уже подсказывает ошибка, вы можете настроить глобальную конфигурацию Git'а таким образом:

С помощью этой команды вы можете проверить конфигурацию Git'а:

Команда должна показывать такой выход:

Эта конфигурация хранится в файле

/.gitconfig. Вы также можете изменить её вручную.

В заключение.

Я надеюсь, что это краткое руководство помогло вам установить последнюю версию Git на Ubuntu. С PPA вы легко получите последнюю версию Git'а.

Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь задавать их в разделе комментариев. Быстрые реакции и "благодарность" также приветствуется :)

Ну и после него, само собой, менеджер пакетов сказал, что обновление не удалось. Методом поверхностного гуглежа выяснилось, проблема кроется в том, что обновление прилетело с мажорной версией GitLab, а не в пределах одной глобальной версии (с 13 до 14), а это требует некоторых плясок с бубном. Давайте спляшем вместе!

Бэкап текущей версии

Делаем резервную копию данных

Сделать резервную копию можно средствами самого Gitlab, для этого нужно воспользоваться командой gitlab-backup create . В результате выполнения будет создан файл резервной копии в каталоге /var/opt/gitlab/backups с именем типа такого 1626962136_2021_07_22_13.11.3-ee_gitlab_backup.tar .

Далее следует сделать резервную копию каталога настроек и прочих системных плюшек. Сделать это можно также средствами самого GitLab, выполнив команду gitlab-ctl backup-etc , в результате выполнения которой в каталоге /etc/gitlab/config_backup будет создан файл с именем наподобие gitlab_config_1626966190_2021_07_22.tar .

Копируем бэкап на локальную машину

Копируем созданные бэкапы на свою машину (перед этим нужно перейти в каталог, куда будем копировать бэкап):

Для тех, кто в танке: сначала указываем то, что копируем, потом то, куда. Также здесь работает автокомплит, после : можно нажимать Tab, и все будет работать как и в локальном терминале, за исключением того, что дополняться будут пути с удаленной машины.

Обновление GitLab

Для начала нужно узнать, какая версия установлена на вашем сервере. Посмотреть это можно по пути your.gitlab/help , там прямо вверху будет написана версия.

После этого идем сюда и смотрим порядок обновления до последней версии с вашей. В моем случае это было так: 13.11.3 -> 13.12.8 -> 14.0.6 -> 14.1.0 . Записываем порядок, чтобы не лазить постоянно в документацию.

Далее смотрим список доступных пакетов в репозитории. У меня на сервере Ubuntu Server, поэтому я делал это командой apt-cache showpkg gitlab-ee | grep 13.12 . В результате менеджер пакетов покажет все доступные варианты с нужной версей:

После завершение последней итерации обновлений рекомендую обновить PostgreSQL, что можно сделать также средствами самого GitLab: gitlab-ctl pg-upgrade .

Обновление конфигурации и перезапуск

После всех этих процедур рекомендую обновить конфигурацию командой gitlab-ctl reconfigure , а затем перезапустить командой gitlab-ctl restart .

Имеется GitLab версии 7.4.1, установленную из исходников. Необходимо обновить его до актуальной версии с переносом всех данных.

План действия следующий:

  • Установить на новый сервер GitLab той же версии, что стоит на старом сервере
  • На старом сервере сделать бэкап данных средствами GitLab
  • Развернуть бэкап на новом сервере
  • Обновить GitLab до актуальной версии

Установить на новый сервер GitLab той же версии, что стоит на старом сервере

Добавляем репозиторий EPEL и обновляемся


На новом сервере ставим gitlab той же версии, что и на старом сервере

Скачиваем дистрибутив и устанавливаем его

Добавляем правила в firewall

Редактируем файл gitlab.rb для последующей генерации конфига gitlab

Пример файла gitlab.rb, в котором подключена LDAP-авторизация и настроено подключение к почтовому серверу

Авторизуемся, меняем пароль

На старом сервере сделать бэкап данных средствами GitLab

У меня не делался бэкап, т.к. скрипту не нравилась версия psql, делаем линк на версию посвежее, которая была уже установлена на сервере

  • Файлы бэкапа на старом сервере: /home/git/gitlab/tmp/backups

Переносим файл бэкапа со старого сервера на новый

  • Файлы бэкапа на новом сервере: /var/opt/gitlab/backups

Развернуть бэкап на новом сервере

Развертывание резервной копии на новом сервере

В процессе развертывания произошла ошибка. Из бэкапа не развернулись пустые проекты, по-этому вначале их надо удалить, потом делать бэкап.

Так же можно перенести вручную все то, что не перенеслось после:

Меняем владельца директории

Пробуем сделать бэкап на новом сервере и развернуть его

Обновить GitLab до актуальной версии

Т.к. у нас версия довольно старая, обновляться будем по следующей цепочке:

Скачиваем дистрибутив версии 7.14.2

Открываем доступ к GitLab снаружи

Т.к. у нас ограниченное количество внешних IP-адресов, и т.к. наш GitLab крутится на отдельном виртуальном сервере, настраиваем проброс портов, что бы у нас был доступ к GitLab снаружи

На сервере, где прописан внешний IP, надо перенастроить ssh, iptables, apache

Читайте также: