О GitLab
GitLab - это DevOps-платформа, которая объединяет в одном приложении хостинг Git-репозиториев, merge request, трекер задач, реестр пакетов и непрерывную интеграцию (CI/CD). Редакция Community (CE) распространяется с открытым исходным кодом. Она подходит командам разработки, агентствам и небольшим компаниям, которые хотят держать код и пайплайны на сервере под своим контролем.
После выдачи Linux VPS (Debian 12 или 13, Ubuntu 20.04, 22.04 или 24.04) на нём уже установлен GitLab CE из официального репозитория packages.gitlab.com, в виде пакета Omnibus. Для публичного IP-адреса сервера создан самоподписанный TLS-сертификат со сроком действия 10 лет. Внешний URL настроен как https://SERVER_IP, HTTP перенаправляется на HTTPS.
Учётная запись администратора называется root. Начальный пароль записан в файле /etc/gitlab/initial_root_password. Рецепт требует не менее 4 ГБ оперативной памяти (рекомендуется 8 ГБ) и 2 ядра CPU: GitLab требователен к ресурсам, поэтому подбирайте размер VPS с запасом.
Что можно делать с GitLab
Официальная установка Omnibus
GitLab CE ставится из apt-репозитория GitLab и настраивается командой
gitlab-ctl reconfigure. Обновления потом выполняются через apt.HTTPS сразу после выдачи
Самоподписанный сертификат RSA 2048 создаётся в
/etc/gitlab/ssl/для IP-адреса сервера. Nginx перенаправляет HTTP на HTTPS.Сгенерированный пароль root
Начальный пароль учётной записи
rootхранится в/etc/gitlab/initial_root_password. Заранее известного пароля по умолчанию нет.Репозитории, ревью и CI/CD
Merge request, задачи, вики, реестр пакетов и CI/CD-пайплайны доступны в одном интерфейсе, подключать сторонние инструменты не нужно.
Вся настройка в одном файле
Все параметры задаются в
/etc/gitlab/gitlab.rb, после чего выполняетсяgitlab-ctl reconfigure. Такой файл легко держать под версионным контролем и воспроизводить на другом сервере.
Начало работы с GitLab
От заказа до запуска за несколько минут.
- 1
Закажите VPS с GitLab
Выберите [VPS Linux](/vps-linux) в Париже или Франкфурте с оперативной памятью от 4 ГБ (рекомендуется 8 ГБ). На вкладке «Приложения» формы заказа отметьте GitLab.
- 2
Дождитесь выдачи и подключитесь
Установка и первичная настройка занимают несколько минут после запуска сервера. Следите за ними по SSH, а когда они завершатся, прочитайте пароль root.
Bashssh root@SERVER_IP tail -f /var/log/cloud-init-output.log sudo cat /etc/gitlab/initial_root_password - 3
Откройте GitLab и войдите
Перейдите на https://SERVER_IP и подтвердите предупреждение браузера: оно связано с самоподписанным сертификатом. Войдите как
rootс паролем, который вы прочитали выше, и смените его в профиле.Bashsudo gitlab-ctl status - 4
Подготовьте сервер к работе в продакшене
Направьте доменное имя на сервер и замените
external_urlв/etc/gitlab/gitlab.rbнаhttps://YOUR_DOMAIN. Включите Let's Encrypt (letsencrypt['enable'] = true) или установите собственный сертификат, затем примените конфигурацию. Ограничьте доступ файрволом (порты 22, 80 и 443) и настройте регулярные резервные копии.Bashsudo nano /etc/gitlab/gitlab.rb sudo gitlab-ctl reconfigure sudo gitlab-backup create
Сценарии использования GitLab
Закрытый Git-сервер для команды
Храните исходный код проектов на европейском сервере, которым управляете вы, с правами доступа на уровне групп и отдельных проектов.
Внутренние CI/CD-пайплайны
Запускайте тесты и деплой по файлам
.gitlab-ci.yml, которые лежат в репозитории вместе с кодом, на собственных раннерах.Переезд с облачного сервиса
Импортируйте репозитории из GitHub или другого GitLab, чтобы вернуть себе контроль над данными и правилами доступа.
Среда для обучения и тестов
Опробуйте настройку GitLab, резервное копирование или обновление версии на отдельном сервере, прежде чем трогать рабочую систему.
Частые вопросы о GitLab
Рецепт требует минимум 4 ГБ и рекомендует 8 ГБ, а также не менее 2 ядер CPU. При меньшем объёме установка может завершиться ошибкой, а интерфейс будет работать очень медленно. Если вы регулярно пользуетесь CI/CD, закладывайте 8 ГБ.
Подробнее о GitLab
Замена самоподписанного сертификата
Выданный сертификат привязан к IP-адресу, поэтому браузеры показывают предупреждение. Чтобы избавиться от него, используйте доменное имя (см. /web-domains) и измените /etc/gitlab/gitlab.rb:
Rubyexternal_url 'https://YOUR_DOMAIN' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@YOUR_DOMAIN']
Затем выполните sudo gitlab-ctl reconfigure. Домен уже должен указывать на сервер, а порты 80 и 443 должны быть доступны извне, иначе проверка не пройдёт.
Ресурсы и память
GitLab запускает сразу несколько служб (Puma, Sidekiq, PostgreSQL, Redis, Nginx, Gitaly). С 4 ГБ RAM экземпляр справляется с нагрузкой небольшой команды, но стоит добавить swap и оставить немного запаса. Переходите на 8 ГБ, как только пайплайны станут частыми или пользователей будет несколько десятков.
Резервные копии и обновления
Команда sudo gitlab-backup create создаёт архив данных приложения. Отдельно сохраняйте /etc/gitlab/gitlab.rb и /etc/gitlab/gitlab-secrets.json: в этот архив они не входят. Для обновления используйте sudo apt update && sudo apt install gitlab-ce. Сначала изучите официальный путь обновления: GitLab иногда требует пройти через промежуточные версии.