hostprofi.ru
Подобрать хостинг
Термин·буква V

VPS под GitLab

краткое определение

VPS с развёрнутым GitLab CE для хранения репозиториев, CI/CD и управления проектами внутри своей инфраструктуры.

VPS под GitLab — виртуальный приватный сервер с самостоятельно развёрнутым GitLab CE (Community Edition) для хранения Git-репозиториев, CI/CD пайплайнов и управления проектами. Альтернатива облачному GitLab.com для команд, которым важны приватность данных, кастомизация или отсутствие ограничений по пользователям.

Как работает

GitLab — монолитное приложение на Ruby on Rails, включающее: Git-хранилище репозиториев, веб-интерфейс, систему issue tracking, CI/CD, Container Registry, Wiki. В отличие от разделённой архитектуры, Omnibus GitLab — единый пакет, включающий все зависимости: Ruby, PostgreSQL, Redis, Nginx.

Установка GitLab CE на Ubuntu:

# Добавить репозиторий
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
# Установить
EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce
# Первоначальная настройка
gitlab-ctl reconfigure

GitLab автоматически настроит встроенный Nginx, PostgreSQL и Redis. После установки откройте браузер — GitLab попросит установить пароль для root.

Требования к серверу

GitLab потребляет значительные ресурсы. Минимум для 10–20 пользователей: 4 ГБ RAM (рекомендуется 8 ГБ), 2–4 CPU, 50 ГБ SSD под репозитории и артефакты CI. При активном использовании CI/CD каждый job потребляет дополнительные ресурсы. GitLab Runner — отдельный процесс или Docker-контейнер, выполняющий задачи пайплайна.

История

GitLab основан Дмитрием Запорожцем и Сидом Сибранди в 2011 году как open-source альтернатива GitHub. В 2013 году выпущена GitLab CI — встроенная система непрерывной интеграции, ставшая главным конкурентным преимуществом перед GitHub (который добавил Actions только в 2018). Self-hosted GitLab активно используется в корпоративном секторе и госструктурах, где данные не должны покидать контур организации.

На что обращать внимание

Регулярные обновления обязательны: apt update && apt upgrade gitlab-ce. GitLab выпускает security updates ежемесячно. Резервные копии через gitlab-backup create — сохраняет репозитории, базу данных, настройки. Хранить бэкапы следует на отдельном хранилище, не на том же сервере. SSL через Let's Encrypt встроен в GitLab Omnibus: достаточно указать letsencrypt['enable'] = true в /etc/gitlab/gitlab.rb. Мониторинг встроен через Prometheus — метрики доступны на /-/metrics.

Оптимизация GitLab для VPS

GitLab «из коробки» потребляет много ресурсов. Оптимизация для небольших серверов в /etc/gitlab/gitlab.rb:

# Уменьшить unicorn workers
unicorn['worker_processes'] = 2
# Ограничить Sidekiq
sidekiq['concurrency'] = 10
# Отключить неиспользуемые компоненты
prometheus_monitoring['enable'] = false
grafana['enable'] = false
# Ограничить PostgreSQL
postgresql['shared_buffers'] = "256MB"

После изменений: gitlab-ctl reconfigure && gitlab-ctl restart. Потребление RAM снижается с 4–5 ГБ до 2–3 ГБ. Для хранения артефактов CI/CD подключите объектное хранилище (Yandex Object Storage, Minio) — снижает нагрузку на локальный диск. Мониторинг GitLab через встроенный Prometheus и Grafana-дашборды — доступен по адресу /-/grafana при включённом компоненте.

Другие термины