GitLab представляет собой DevOps-платформу с открытым исходным кодом, которая предназначена для управления разработкой программного обеспечения. Данное решение позволяет управлять репозиториями Git, отслеживать ошибки в разрабатываемом софте, производить анализ кода, его тестирование, развёртывание, а также, включает в себя возможность ведения каналов и вики-страниц.
Экземпляр GitLab достаточно легко развернуть на собственном оборудовании, в том числе и на виртуальном сервере. В данной статье пойдёт речь о том, как установить GitLab на сервере, работающем на Ubuntu 20.04.
Предварительная настройка
Работы по установке и предварительной настройке GitLab будем производить на VPS, имеющем двухядерный процессор и объём оперативной памяти, равный 8Гб. Также важно, чтобы на сервере были выполнены работы по первоначальной настройке операционной системы.
Более того, чтобы ваш экземпляр GitLab был доступен по имени предназначенного для него домена, вам необходимо иметь доменное имя, привязанное через A-запись к IP-адресу вашего VPS.
Итак, для начала нужно будет обновить список пакетов:
$ sudo apt update
После чего, следующей командой установите необходимые зависимости:
$ sudo apt install ca-certificates curl openssh-server postfix
В процессе установки postfix
система попросит выбрать тип конфигурации почтового сервера. В нашем случае следует продолжить установку на Internet Site
:
В следующем окне настройки конфигурации postfix
нужно будет указать доменное имя вашего сервера. В качестве доменного имени в данной инструкции мы будем использовать my-domain.host
. Поэтому вам нужно будет заменить его своё, либо оставить дефолтное localdomain
, если вы не прописывали имя сервера в /etc/hosts
.:
Установка GitLab
По окончании установки зависимостей следующим этапом будет инсталляция непосредственно GitLab. Делается это довольно-таки не сложно, а именно, путём применения специального скрипта, который установит и настроит приложение почти самостоятельно. Скрипт нужно будет загрузить со страницы GitLab. Для чего, перейдите в каталог /tmp/
:
$ cd /tmp
И загрузите скрипт установки:
$ curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
Для того, чтобы увидеть содержимое скрипта, можно использовать следующую команду:
$ less script.deb.sh
Теперь запустите скрипт на исполнение:
$ sudo bash script.deb.sh
После того, как скрипт отработал, запустите инсталляцию GitLab:
$ sudo apt install gitlab-ce
Данная инструкция установит необходимые компоненты, и по завершению установки вы увидите такое окно:
Настройка брандмауэра
Теперь, когда приложение установлено, можно переходить к его настройке, но сначала нужно разрешить трафик на сервере, при помощи брандмауэра. Если вы производили первоначальную настройку своего сервера, то у вас в брандмауэре уже должен быть разрешён трафик по протоколу SSH
. Таким образом, вам останется добавить разрешения на протоколу HTTP
и HTTPS
:
$ sudo ufw allow http
$ sudo ufw allow https
Посмотреть разрешённые в брандмауэре подключения можно командой:
$ sudo ufw status
Настройка GitLab
Далее, переходим к настройке непосредственно GitLab. Для этого необходимо отредактировать конфигурационный файл gitlab.rb
в каталоге /etc/gitlab/
:
$ sudo nano /etc/gitlab/gitlab.rb
В конфигурационном файле отредактируйте строку external_url
. Там нужно прописать имя вашего домена. В данной инструкции мы используем my-domain.host
в качестве имени домена, поэтому на своём сервере вы нужно будет заменить имя my-domain.host
на своё. А для того, чтобы GitLab автоматически перенаправлял подключающихся пользователей на ваш сайт, защищенный сертификатом Let’s Encrypt, замените имя протокола подключения http
на https
:
external_url 'https://my-domain.host'
Также, найдите в файле (Ctrl W
) строку letsencrypt['contact_emails']
и добавьте в неё адрес вашей электронной почты, на которую будут приходить сообщения от Центра Сертификации в случае каких-либо проблем с вашим доменом. В настройке нашего сервера мы используем адрес my-email@my-domain.host
, который вам нужно заменить на свой:
letsencrypt['contact_emails'] = ['my-email@my-domain.host'] # This should be an array of email addresses to add as contacts
После того, как вы внесли изменения в файл, закройте его с сохранением изменений. И далее, запустите процедуру переконфигурации приложения:
$ sudo gitlab-ctl reconfigure
Когда данная команда завершит свою работу, ваш экземпляр Gitlab будет готов к первому подключению. Откройте браузер и перейдите по адресу вашего домена (в нашем случае мы переходим на https://my-domain.host
):
При первом подключении вам нужно будет использовать учётную запись root
, созданную установщиком Gitlab. Пароль для данного пользователя находится в файле initial_root_password
. Обратите внимание, что этот файл будет автоматически удалён через 24 часа.
$ sudo cat /etc/gitlab/initial_root_password
Для входа в веб-интерфейс приложения наберите имя пользователя root
и его пароль на странице с приглашением:
В случае успешной авторизации вы должны будете попасть на стартовую страницу Gitlab:
При первом входе логично было бы поменять заданный системой пароль учётной записи root
. Для чего перейдите в редактирование профиля:
Далее, перейдите к редактированию пароля, наберите пароль заданный в файле initial_root_password
, дважды новый пароль и нажмите Save password
:
Заключение
Таким образом, на вашем сервере теперь функционирует полноценный рабочий экземпляр GitLab, в котором вы сможете создавать новые проекты и делиться доступом к ним с членами вашей команды. Естественно, функционал и возможности адаптации приложения под ваши нужды выходят далеко за рамки данного мануала. Поэтому будет не лишним как можно чаще посещать страницу платформы GitLab, чтобы узнать больше об этом проекте.