Установка GitLab и CI/CD на VPS Simple-Server

    Команда Simple-Server
    03.06.2026
    14 мин

    Материал подготовлен командой Simple-Server для администраторов VPS. Команды проверяйте на тестовом сервере перед production.

    Кратко о задаче

    GitLab объединяет Git-репозиторий, code review, встроенный CI/CD и раннеры для автоматической сборки и деплоя. На VPS Simple-Server вы разворачиваете свой экземпляр GitLab: без маркетплейса и готовых образов — только Ubuntu, root по SSH и официальный пакет gitlab-ce.

    В статье: заказ сервера, установка GitLab, базовая настройка и пример .gitlab-ci.yml. Отдельно про Runner — в инструкции по GitLab Runner.


    Что понадобится

    РесурсРекомендация
    VPSот 4 ГБ RAM и 2 vCPU (для команды до ~30 пользователей; для production лучше 8 ГБ / 4 vCPU)
    ОСUbuntu 22.04 LTS
    ДоступSSH под root
    Доменжелательно (A-запись на IP VPS); можно начать с IP и позже сменить external_url
    Порты22 (SSH), 80 и 443 (HTTP/HTTPS для GitLab)

    Шаг 1. Заказ VPS на Simple-Server

    1. Откройте страницу аренды VPS и выберите тариф с достаточным объёмом RAM (для GitLab — PerformanceVDS или выше).
    2. В качестве ОС укажите Ubuntu 22.04.
    3. После создания сервера запишите IP-адрес и пароль root (или подключите SSH-ключ при заказе).
    4. Привяжите домен: в DNS создайте A-запись gitlab.ваш-домен.ru → IP сервера. Пока DNS обновляется, можно работать по IP.

    Подключение по SSH:

    ssh root@ВАШ_IP

    Шаг 2. Подготовка системы

    Обновите пакеты и установите зависимости GitLab:

    sudo apt update && sudo apt upgrade -y sudo apt install -y curl openssh-server ca-certificates tzdata perl postfix

    При установке postfix выберите «Internet Site» и укажите доменное имя сервера (для почтовых уведомлений GitLab).

    Проверьте hostname (по желанию):

    sudo hostnamectl set-hostname gitlab.example.com

    Шаг 3. Установка GitLab CE

    Официальный репозиторий GitLab (Community Edition):

    cd /tmp curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh sudo bash /tmp/script.deb.sh sudo apt install -y gitlab-ce

    Установка занимает несколько минут. Не прерывайте процесс.


    Шаг 4. Firewall (UFW)

    Разрешите SSH, HTTP и HTTPS:

    sudo ufw allow OpenSSH sudo ufw allow http sudo ufw allow https sudo ufw enable sudo ufw status

    Шаг 5. Настройка external_url

    Откройте конфигурацию:

    sudo nano /etc/gitlab/gitlab.rb

    Найдите и задайте URL, по которому будет открываться GitLab (домен или IP):

    external_url 'https://gitlab.ваш-домен.ru'

    Для Let's Encrypt в том же файле можно включить (раскомментируйте и укажите email):

    letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@ваш-домен.ru']

    Если пока используете только IP без SSL:

    external_url 'http://ВАШ_IP'

    Примените настройки:

    sudo gitlab-ctl reconfigure

    Команда может выполняться 5–15 минут. После завершения проверьте статус:

    sudo gitlab-ctl status

    Шаг 6. Первый вход в веб-интерфейс

    1. Откройте в браузере адрес из external_url.
    2. Логин по умолчанию: root.
    3. Пароль смотрите на сервере:
    sudo cat /etc/gitlab/initial_root_password

    Файл удаляется через 24 часа после установки — сохраните пароль сразу. 4. Смените пароль root и при необходимости отключите открытую регистрацию: Admin → Settings → General → Sign-up restrictions.

    Добавьте SSH-ключ для git-операций: Preferences → SSH Keys.


    Шаг 7. Базовый CI/CD: файл .gitlab-ci.yml

    CI/CD в GitLab описывается файлом .gitlab-ci.yml в корне репозитория.

    Пример простого pipeline (проверка версии Python на раннере):

    stages: - test run-check: stage: test image: python:3.12-slim script: ```bash - python --version - echo "Pipeline выполнен на Simple-Server VPS" 1. Создайте проект в GitLab (**New project → Create blank project**). 2. Загрузите код или клонируйте пустой репозиторий. 3. Добавьте `.gitlab-ci.yml` в корень и сделайте commit. 4. Откройте **Build → Pipelines** — GitLab запустит job. По умолчанию jobs выполняются на **shared runners** только на GitLab.com. На **собственном** сервере нужен **GitLab Runner** — см. [установку GitLab Runner](/blog/ci-cd/ustanovka-i-ispolzovanie-gitlab-runner). Кратко про Runner на том же VPS: ```bash # пример: runner в Docker (детали — в отдельной статье) docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest

    Зарегистрируйте runner в проекте: Settings → CI/CD → Runners — скопируйте токен и URL вашего GitLab.


    Шаг 8. Полезные команды обслуживания

    # перезапуск всех сервисов GitLab sudo gitlab-ctl restart # просмотр логов sudo gitlab-ctl tail # проверка конфигурации перед reconfigure sudo gitlab-ctl check-config

    Резервное копирование: настройте snapshot VPS в панели Simple-Server и периодический бэкап каталога /var/opt/gitlab.


    Частые проблемы

    502 или долгая загрузка после установки — дождитесь окончания gitlab-ctl reconfigure, проверьте RAM (free -h). При нехватке памяти увеличьте тариф VPS.

    Let's Encrypt не выдал сертификат — убедитесь, что домен указывает на IP сервера и порты 80/443 открыты в UFW и у провайдера.

    Pipeline в статусе pending — нет активного Runner для проекта; установите и зарегистрируйте Runner.


    Связанные материалы

    Для стабильной работы GitLab и CI/CD на Simple-Server выберите VPS с запасом по RAM и диску — при росте числа проектов и раннеров нагрузка растёт быстрее, чем у обычного сайта.

    Развернуть на VPS Simple-Server

    Аренда VPS/VDS в России: KVM, NVMe, root-доступ и поддержка 24/7 — от 490 ₽/мес.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны