Содержание:
GitLab — это инструмент хранения и управления Git-репозиториями. Она позволяет нескольким командам эффективно работать над кодом, координировать процесс разработки, вносить изменения и при необходимости быстро возвращаться к предыдущим версиям проекта.
Для установки будет использован сервер с предустановленной ОС Ubuntu 24.04
Арендуйте VPS
Если у вас все еще нет VPS, то выбирайте виртуальный сервер в России.
ПерейтиПодготовка VPS к установке GitLab
Не обязательно, но будет плюсом если предварительно будет произведено направление домена по А-записи (IP) на устанавливаемый сервер.
Выполним обновление списка пакетов
apt update
Необходимо проверить часовой пояс
timedatectl
Если время отличается от Вашего текущего то его необходимо изменить на актуальное. Задать можно командой
timedatectl set-timezone НАЗВАНИЕ_ВАШЕЙ_timezone
Дополнительно установим и активируем утилиту chrony
apt install chrony
systemctl enable chronyChrony необходим для поддержания точного и согласованного времени, для корректной работы большинства сетевых служб, безопасности и распределенных приложений.
Произведем установку дополнительных необходимых пакетов
apt install curl openssh-server ca-certificates
Будет произведена установка бесплатной версии GitLab
Установка и настройка GitLab на VPS
Выполняем установку бесплатной версии GitLab
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt install gitlab-ce
После успешной установки можно увидеть следующее сообщение

Установка прошла успешно, но сервер не сконфигурирован.
В первую очередь зададим URL панели, предварительно необходимо направить домен или поддомен на сервер по А-записи. Откроем файл для редактирования
nano /etc/gitlab/gitlab.rb
Искомое значение
external_url 'http://gitlab.example.com'
Меняем данное значение на предварительно направленный домен/поддомен т.е. external_url 'https://название_вашего_домена.ру' Так же укажем https вместо http, это необходимо для дальнейшей настройки защищенного соединения. Ищем поле
letsencrypt['enable'] = true
Значение должно быть true, данная опция активирует сертификат SSL для https соединения
Ищем поле
nginx['redirect_http_to_https'] = true
Значение должно быть true, данная опция активирует редирект с http на https
Находим следующие опции и указываем время автопродления сертификата
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = "23"
letsencrypt['auto_renew_minute'] = "33" # Should be a number or cron expression, if specified.
letsencrypt['auto_renew_day_of_month'] = "*/3"
auto_renew — отвечает за автоматическое обновление.
auto_renew_hour — Час, когда нужно запускать задание на обновление сертификата.
auto_renew_minute — Минута, когда нужно запускать задание на обновление сертификата.
auto_renew_day_of_month — день месяца.
Для применения настроек нужно выполнить команды
gitlab-ctl reconfigure
gitlab-ctl restart nginxЧто если возникнет ошибка?
Какое то время при обращении можно наблюдать ошибку 502

Это нормально, для загрузки сервиса иногда необходимо несколько минут.
В некоторых случаях в логах может наблюдаться ошибка вида
4082#0: *130 connect() to unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket failed (2: No such file or directory) while connecting to upstream, client: XX.XX.XX.XXX, server: gitlabtest.XXXX.ru, request: "GET / HTTP/2.0", upstream: "http://unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket:/", host: "название_вашего_домена", referrer: "https://название_вашего_домена/"Ошибка указывает, что GitLab Workhorse не создал сокет-файл или не запущен:
В таком случае переходим в файл
nano /etc/gitlab/gitlab.rbИщем строки и раcкомментируем их:
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "unix"
gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/sockets/socket"
gitlab_workhorse['auth_backend'] = "http://localhost:8080"Применяем конфигурацию
sudo gitlab-ctl reconfigureПерезапускаем все компоненты
sudo gitlab-ctl restartПроверяем статус
sudo gitlab-ctl statusПосле чего можем обратиться по направленному домену и увидеть страницу:

Для входа используется по умолчанию логин root
Для того чтобы узнать пароль выполним в терминале команду
cat /etc/gitlab/initial_root_password | grep Password:Выводом будет Ваш пароль.
Последним этапом необходимо выполнить установку MTA (агент пересылки почты) в Linux — это программное приложение, которое направляет и передаёт электронную почту.
apt install postfix
Выбираем пункт 2
Настройка Gitlab завершена.
Предыдущая статья:
Установка git на VPS серверСледующая статья:
Установка и настройка Java на VDS
Комментарии ()