Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Yandex Container Solution
    • Все руководства
    • Настройка синхронизации часов с помощью NTP
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Развертывание Remote Desktop Gateway
    • Начало работы с Packer
    • Передача логов с ВМ в Yandex Cloud Logging
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Миграция в Yandex Cloud с помощью Хайстекс Акура
    • Защита от сбоев с помощью Хайстекс Акура
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Развертывание отказоустойчивой архитектуры с прерываемыми ВМ
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
    • Создание триггеров, которые вызывают функции для остановки ВМ и отправки уведомлений в Telegram
    • Создание веб-приложения на Python с использованием фреймворка Flask
    • Создание SAP-программы в Yandex Cloud
    • Развертывание сервера Minecraft в Yandex Cloud
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Создание тестовых виртуальных машин через GitLab CI
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Настройка SFTP-сервера на Centos 7
    • Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
    • Развертывание параллельной файловой системы GlusterFS в высокопроизводительном режиме
    • Резервное копирование в Object Storage с помощью Bacula
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Реализация защищенной высокодоступной сетевой инфраструктуры с выделением DMZ на основе Check Point NGFW
    • Сегментация облачной инфраструктуры с помощью решения Check Point Next-Generation Firewall
    • Настройка защищенного туннеля GRE поверх IPsec
    • Создание бастионного хоста
    • Реализация отказоустойчивых сценариев для сетевых виртуальных машин
    • Создание туннеля между двумя подсетями при помощи OpenVPN Access Server
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Настройка сетевой связности между подсетями BareMetal и Virtual Private Cloud
    • Работа со снапшотами в Managed Service for Kubernetes
      • Безопасная передача пароля в скрипт инициализации
      • Развертывание Active Directory
      • Развертывание Microsoft Exchange
      • Развертывание Remote Desktop Services
      • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
      • Развертывание Remote Desktop Gateway
      • Создание сервера MLFlow для логирования экспериментов и артефактов
      • Развертывание GitLab Runner на виртуальной машине
    • Запуск языковой модели DeepSeek-R1 в кластере GPU
    • Запуск библиотеки vLLM с языковой моделью Gemma 3 на ВМ с GPU
    • Доставка USB-устройств на виртуальную машину или сервер BareMetal
    • Интеграция Yandex Object Storage с Nextcloud
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Получите токен GitLab Runner
  • Разверните GitLab Runner
  • Установите GitLab Runner на виртуальную машину вручную
  • Создайте раннер с помощью консоли управления
  • Создайте тестовый сценарий
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Продукты Microsoft в Yandex Cloud
  3. Развертывание GitLab Runner на виртуальной машине

Развертывание GitLab Runner на виртуальной машине Compute Cloud

Статья создана
Yandex Cloud
Обновлена 26 мая 2025 г.
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Получите токен GitLab Runner
  • Разверните GitLab Runner
    • Установите GitLab Runner на виртуальную машину вручную
    • Создайте раннер с помощью консоли управления
  • Создайте тестовый сценарий
  • Удалите созданные ресурсы

GitLab Runner — приложение с открытым исходным кодом, которое выполняет задания конвейерной обработки GitLab CI/CD по инструкциям из специального файла .gitlab-ci.yml. GitLab Runner можно развернуть не только в кластере Yandex Managed Service for Kubernetes, но и на виртуальной машине Compute Cloud — это проще и дешевле.

Для пользовательской (self-managed) инсталляции GitLab вы можете вручную установить GitLab Runner на виртуальную машину Compute Cloud.

Для Yandex Managed Service for GitLab вы также можете воспользоваться ручной установкой GitLab Runner или автоматически развернуть раннер в консоли управления, который будет обеспечивать нужное количество воркеров, запущенных в Compute Cloud.

Примечание

Функциональность создания и управления раннерами с помощью консоли управления находится на стадии Preview. Чтобы запросить доступ, обратитесь в техническую поддержку или к вашему аккаунт-менеджеру.

Чтобы начать работу с GitLab Runner с помощью Compute Cloud:

  1. Подготовьте инфраструктуру.
  2. Получите токен GitLab Runner.
  3. Разверните GitLab Runner.
  4. Создайте тестовый сценарий.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • Плата за диски и постоянно запущенные ВМ (см. тарифы Yandex Compute Cloud).
  • Плата за использование публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Подготовьте инфраструктуруПодготовьте инфраструктуру

  1. Создайте и активируйте инстанс Managed Service for GitLab.
  2. Создайте проект GitLab.

Получите токен GitLab RunnerПолучите токен GitLab Runner

Чтобы настроить GitLab Runner для всего инстанса GitLab (требуются права администратора GitLab):

  1. Откройте GitLab.
  2. В левом нижнем углу нажмите кнопку Admin.
  3. В меню слева выберите CI/CD → Runners.
  4. Нажмите кнопку New instance runner и создайте новый GitLab Runner.
  5. Сохраните значение параметра Runner authentication token.

Чтобы настроить GitLab Runner для проекта:

  1. Откройте GitLab.
  2. Выберите проект.
  3. В меню слева выберите Settings → CI/CD.
  4. В блоке Runners нажмите кнопку Expand.
  5. Нажмите кнопку New project runner и создайте новый GitLab Runner.
  6. Сохраните значение параметра Runner authentication token.

Разверните GitLab RunnerРазверните GitLab Runner

Вы можете воспользоваться ручной установкой GitLab Runner или автоматически развернуть раннер в консоли управления.

Установите GitLab Runner на виртуальную машину вручнуюУстановите GitLab Runner на виртуальную машину вручную

  1. Создайте ВМ из публичного образа Ubuntu 22.04 LTS.

  2. Подключитесь к ВМ по протоколу SSH:

    ssh <логин>@<публичный_IP-адрес_ВМ>
    
  3. Установите утилиты git и jq:

    sudo apt-get --yes install git jq
    
  4. Добавьте репозиторий с GitLab Runner в менеджер пакетов:

    curl --location https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
    
  5. Установите GitLab Runner:

    sudo apt-get -y install gitlab-runner
    
  6. Зарегистрируйте GitLab Runner:

    sudo gitlab-runner register
    

    Команда попросит ввести дополнительные данные:

    • URL инстанса GitLab в формате https://<домен>/;
    • токен GitLab Runner, полученный ранее;
    • описание GitLab Runner;
    • теги GitLab Runner и настройки обновлений (maintenance note) — не указывайте;
    • исполнителя (executor) — shell.

    Результат:

    Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
    
    Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
    

Создайте раннер с помощью консоли управленияСоздайте раннер с помощью консоли управления

Примечание

Функциональность создания и управления раннерами с помощью консоли управления находится на стадии Preview. Чтобы запросить доступ, обратитесь в техническую поддержку или к вашему аккаунт-менеджеру.

Создание раннеров с помощью консоли управления доступно только для инстансов Managed Service for GitLab.

  1. Выберите инстанс Managed Service for GitLab, созданный ранее.

  2. Выберите вкладку Раннеры.

  3. Нажмите кнопку Создать раннер.

  4. Задайте имя раннера:

    • длина — от 2 до 63 символов;
    • может содержать строчные буквы латинского алфавита, цифры и дефисы;
    • первый символ — буква, последний — не дефис.
  5. Введите токен GitLab Runner, полученный ранее.

  6. Выберите или создайте сервисный аккаунт. Он используется только для создания ВМ и не будет привязан к ней. У сервисного аккаунта должны быть роли compute.admin, vpc.admin и iam.serviceAccounts.user.

  7. (Опционально) Добавьте метки для раннера.

  8. В блоке Настройки масштабирования укажите:

    • Минимум воркеров — число воркеров, которые всегда запущены и готовы выполнять задачи. Значение по умолчанию — 1, минимальное — 0, максимальное — 10.
    • Максимум воркеров — максимальное число воркеров, которые могут быть созданы для выполнения задач. Значение по умолчанию — 3, минимальное — 1, максимальное — 30. Максимальное количество воркеров не может быть меньше минимального.
    • Лимит простоя воркера, в минутах — максимальное время простоя, по истечении которого дополнительно созданный воркер будет удален. Значение по умолчанию — 10, минимальное — 0.
    • Максимум задач на воркер — максимальное количество задач, после выполнения которых воркер будет удален. Значение по умолчанию — 100, минимальное — 0.
    • Количество параллельных задач на воркер — количество задач, которые выполняются на одном воркере одновременно. Значение по умолчанию — 1, минимальное — 0.

    Примечание

    Воркеры — это виртуальные машины Compute Cloud. Их использование оплачивается согласно правилам тарификации Compute Cloud.

  9. (Опционально) Добавьте метки для воркера.

  10. В блоке Вычислительные ресурсы выберите конфигурацию вычислительных ресурсов.

  11. В блоке Диски и файловые хранилища настройте загрузочный диск:

    • Выберите тип диска.
    • Задайте размер диска.
  12. Нажмите кнопку Создать.

  13. Убедитесь, что раннер работает:

    • В GitLab:

      • Если вы создавали GitLab Runner для всего инстанса GitLab:

        1. В левом нижнем углу нажмите кнопку Admin.
        2. В меню слева выберите CI/CD → Runners.
        3. Проверьте, что созданный раннер появился в списке.
      • Если вы создавали GitLab Runner для проекта:

        1. Откройте проект.
        2. В меню слева выберите Settings → CI/CD.
        3. В блоке Runners нажмите кнопку Expand.
        4. Проверьте, что в блоке Assigned project runners появился созданный раннер.
    • В Compute Cloud — проверьте, что появились новые ВМ с префиксом runner-.

Создайте тестовый сценарийСоздайте тестовый сценарий

  1. Откройте проект GitLab.

  2. В меню слева выберите раздел Build → Pipeline editor. Откроется страница с предложением добавить новый файл .gitlab-ci.yml, в котором в формате YAML нужно описать сценарий.

  3. Добавьте текст сценария:

    build:
    stage: build
    script:
      - echo "Hello, $GITLAB_USER_LOGIN!"
    
    test:
    stage: test
    script:
      - echo "This job tests something"
    
    deploy:
    stage: deploy
    script:
      - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
    environment: production
    
  4. Нажмите Commit changes.

  5. В меню слева выберите раздел Build → Jobs.

  6. Убедитесь, что три задачи имеют статус Passed.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Удалите ресурсы, которые вы больше не будете использовать, чтобы не платить за них:

  • инстанс GitLab;
  • ВМ с GitLab Runner;
  • сервисный аккаунт.

Была ли статья полезна?

Предыдущая
Создание сервера MLFlow для логирования экспериментов и артефактов
Следующая
Запуск языковой модели DeepSeek-R1 в кластере GPU
Проект Яндекса
© 2025 ООО «Яндекс.Облако»