Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for GitLab
  • Начало работы
    • Все руководства
    • Развертывание GitLab Runner на виртуальной машине Yandex Compute Cloud
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Непрерывное развертывание контейнеризованных приложений Managed Service for Kubernetes
    • Сканирование уязвимостей Container Registry при непрерывном развертывании приложений Managed Service for Kubernetes
    • Построение пайплайна CI/CD с использованием serverless-продуктов
    • Хранение Docker-образов в Yandex Container Registry
    • Тестирование приложений с помощью GitLab
    • Создание тестовых виртуальных машин через GitLab CI
    • Интеграция с Yandex Tracker
    • Вызов нагрузочного тестирования из GitLab CI
    • Интеграция с Argo CD
  • Управление доступом
  • Правила тарификации
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

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

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

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

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

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

Сервис Compute Cloud предлагает два способа работы с GitLab Runner. Вы можете:

  • Создать виртуальную машину и вручную установить на нее GitLab Runner.
  • Создать с помощью консоли управления раннер, который автоматически развернет указанное число виртуальных машин, готовых к выполнению задач.

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

  1. Подготовьте инфраструктуру.
  2. Получите токен GitLab Runner.
  3. Установите GitLab Runner на виртуальную машину Yandex Compute Cloud или создайте раннер с помощью консоли управления.
  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 на виртуальную машину Yandex Compute CloudУстановите GitLab Runner на виртуальную машину Yandex Compute Cloud

  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"
    

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

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

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

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

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

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

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

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

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

    • максимальное количество воркеров;
    • минимальное количество воркеров;
    • лимит простоя воркера (в минутах);
    • максимум задач на воркер;
    • количество параллельных задач на воркер.
  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;
  • сервисный аккаунт.

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

Предыдущая
Все руководства
Следующая
Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
Проект Яндекса
© 2025 ООО «Яндекс.Облако»