Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Организация сине-зеленого и канареечного развертывания версий веб-сервиса
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Интеграция GitLab с Трекер
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Получение статистики запросов к объектам Object Storage с использованием Query
    • Получение количества запросов к объектам Object Storage
    • Развертывание GitLab Runner на виртуальной машине Compute Cloud
    • Развертывание воркера SourceCraft на виртуальной машине Compute Cloud
    • Миграция нагрузочного тестирования на k6
    • ИИ-ревью пул-реквестов на GitHub с помощью Yandex Workflows и GitHub Actions

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте виртуальную машину с GitLab
  • Настройте GitLab
  • Задайте настройки приватности
  • Создайте проект
  • Настройте и запустите тестирование для проекта
  • Настройте и зарегистрируйте раннер
  • Создайте сценарий тестирования
  • Создайте ошибку в проекте
  • Как удалить созданные ресурсы
  1. Разработка и тестирование
  2. Тестирование приложений с помощью GitLab

Тестирование приложений с помощью GitLab

Статья создана
Yandex Cloud
Улучшена
Обновлена 31 августа 2026 г.
Открыть в Markdown
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте виртуальную машину с GitLab
  • Настройте GitLab
    • Задайте настройки приватности
  • Создайте проект
  • Настройте и запустите тестирование для проекта
    • Настройте и зарегистрируйте раннер
    • Создайте сценарий тестирования
    • Создайте ошибку в проекте
  • Как удалить созданные ресурсы

GitLab — это сайт и система управления репозиториями кода для Git. Также GitLab позволяет разработчикам вести непрерывный процесс для создания, тестирования и развертывания кода.

В этом сценарии вы настроите GitLab на виртуальной машине, создадите простой проект на языке программирования C++, настроите сценарий тестирования проекта и проверите его выполнение.

Чтобы создать и протестировать проект в среде GitLab:

  1. Подготовьте облако к работе.
  2. Необходимые платные ресурсы.
  3. Создайте ВМ с GitLab.
  4. Настройте GitLab.
  5. Задайте настройки приватности.
  6. Создайте проект.
  7. Настройте и запустите тестирование для проекта.
  8. Настройте и зарегистрируйте раннер.
  9. Создайте сценарий тестирования.
  10. Создайте ошибку в проекте.
  11. Как удалить созданные ресурсы.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

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

В стоимость поддержки сервера для GitLab входит:

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

Создайте виртуальную машину с GitLabСоздайте виртуальную машину с GitLab

  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска в поле Поиск продукта введите Gitlab и выберите публичный образ GitLab.

  3. В блоке Расположение выберите зону доступности, в которой будет создана ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Диски и файловые хранилища выберите тип диска SSD и задайте размер 20 ГБ.

  5. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите необходимую платформу, количество vCPU и объем RAM:

    • Платформа — Intel Ice Lake.
    • vCPU — 4.
    • Гарантированная доля vCPU — 100%.
    • RAM — 8 ГБ.
  6. В блоке Сетевые настройки:

    • В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
    • В поле Публичный IP-адрес оставьте значение Автоматически, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
  7. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя. Не используйте имя root или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      1. Нажмите кнопку Добавить ключ.

      2. Задайте имя SSH-ключа.

      3. Выберите вариант:

        • Ввести вручную — вставьте содержимое открытого SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.

        • Загрузить из файла — загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.

        • Сгенерировать ключ — автоматическое создание пары SSH-ключей.

          При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку /home/<имя_пользователя>/.ssh. В ОС Windows распакуйте архив в папку C:\Users\<имя_пользователя>/.ssh. Дополнительно вводить открытый ключ в консоли управления не требуется.

      4. Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.

  8. В блоке Общая информация задайте имя ВМ: gitlab.

  9. Нажмите кнопку Создать ВМ.

Подождите примерно пять минут, пока не будет создана ВМ и на ней не запустятся все сервисы. После полного запуска всех сервисов, GitLab станет доступен через веб-интерфейс в браузере.

Настройте GitLabНастройте GitLab

  1. Перейдите в сервис *Compute Cloud.

  2. Выберите созданную ВМ gitlab и скопируйте ее публичный IP-адрес.

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

  4. Получите пароль администратора GitLab с помощью команды ВМ:

    sudo cat /etc/gitlab/initial_root_password
    
  5. Скопируйте пароль из строки Password (исключая пробелы) в буфер обмена или отдельный файл.

  6. Откройте в браузере ссылку http://<публичный_IP-адрес_ВМ>. Откроется веб-интерфейс GitLab.

  7. Войдите в систему с учетной записью администратора:

    • Username or email — root.
    • Password — пароль, скопированный ранее.

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

  8. Смените пароль учетной записи администратора.

  9. Повторно войдите в систему с учетной записью администратора, используя новый пароль.

Задайте настройки приватностиЗадайте настройки приватности

Отключите возможность регистрации других пользователей через страницу авторизации:

  1. Перейдите в раздел Admin area.
  2. На панели слева выберите раздел Settings и вкладку General.
  3. В блоке Sign-up restrictions нажмите кнопку Expand.
  4. Отключите опцию Sign-up enabled.
  5. Нажмите кнопку Save changes.

После этого пользователи не смогут регистрироваться самостоятельно. Администратор может создавать учетные записи в разделе Overview → Users. Подробнее в документации GitLab.

Создайте проектСоздайте проект

Для того, чтобы создать проект:

  1. На главной странице GitLab выберите Create a project.

  2. На открывшейся странице укажите:

    • Имя проекта: My Project.
    • Группу и идентификатор проекта: root и my-project.
    • При необходимости задайте описание и область видимости проекта.
  3. Нажмите кнопку Create project.

    Создание проекта

  4. После создания проекта в панели слева перейдите в раздел Settings и выберите вкладку CI/CD.

  5. В блоке Auto DevOps нажмите кнопку Expand, отключите опцию Default to Auto DevOps pipeline и сохраните изменения кнопкой Save changes.

    Отключение Auto DevOps

  6. Добавьте файл проекта.

    1. В панели слева перейдите в проект GitLab.

    2. В строке навигации по репозиторию нажмите кнопку и в выпадающем меню выберите пункт New file.

    3. Назовите файл test.cpp. Добавьте в него код программы, которая проверяет результат умножения 2 × 2 и выводит Hello World, если результат равен 4:

      #include <iostream>
      #include <cassert>
      
      int main() {
        assert(2 * 2 == 4);
        std::cout << "Hello world!" << std::endl;
        return 0;
      }
      

      Добавление файла

    4. Укажите название коммита в поле Commit message.

    5. Нажмите кнопку Commit changes.

Настройте и запустите тестирование для проектаНастройте и запустите тестирование для проекта

Раннер — это программа, которая осуществляет процесс тестирования и сборки проекта в среде GitLab по заданной инструкции.

Настройте и зарегистрируйте раннерНастройте и зарегистрируйте раннер

  1. Зайдите по SSH на ВМ и перейдите в режим администратора в консоли:

    sudo -i
    
  2. Загрузите раннер:

    curl --location --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
    
  3. Сделайте раннер исполняемым:

    chmod +x /usr/local/bin/gitlab-runner
    
  4. Создайте отдельного пользователя для запуска раннера:

    useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
    
  5. Установите и запустите раннер:

    gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
    gitlab-runner start
    
  6. Зарегистрируйте раннер в GitLab:

    1. Запустите интерактивную регистрацию командой gitlab-runner register.

    2. Введите адрес вашего GitLab-сервера. При запросе:

      Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com)
      

      введите http://<публичный_IP-адрес_вашей_ВМ>.

    3. Введите регистрационный токен для раннера. Чтобы его найти, нужно перейти в GitLab на страницу проекта, затем в панели слева выбрать Settings и открыть вкладку CI/CD. После этого нажмите кнопку Expand в блоке Runners. В разделе Set up a specific Runner manually скопируйте токен из третьего пункта и введите его в ответ на запрос:

      Please enter the gitlab-ci token for this runner
      <токен>
      

      Получение токена

    4. На запрос:

      Please enter the gitlab-ci description for this runner
      

      введите описание раннера: My runner.

    5. В поле ввода тегов не указывайте ничего, нажмите Enter. Иначе по умолчанию раннер не будет выполнять работу без указания соответствующих тегов для проекта.

    6. Укажите среду выполнения. В нашем случае, на запрос:

      Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
      

      введите: shell.

На этом установка и настройка раннера выполнены. Если все сделано правильно, то на странице, где вы копировали регистрационный токен, должен появиться раздел Runners activated for this project, в котором будет отображаться зарегистрированный раннер.

Успешная настройка

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

Создайте сценарий тестирования, который будет выполнять раннер. Сценарий описывается в специальном файле .gitlab-ci.yml, который должен находиться в корневой директории проекта. По сценарию раннер будет компилировать исходный файл проекта в исполняемый файл, а затем запускать его.

Так как тестирование будет выполняться в операционной системе ВМ, установите приложения, которые необходимы для тестирования: git для клонирования проекта из репозитория и g++ для компиляции проекта.

Чтобы создать сценарий тестирования:

  1. Подключитесь к ВМ по SSH и установите необходимые приложения:

    sudo apt update
    sudo apt install -y git g++
    
  2. Добавьте сценарий тестирования:

    1. Откройте веб-интерфейс GitLab.

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

    3. На открывшейся странице нажмите кнопку Set up CI/CD.

    4. Откроется страница с предложением добавить новый файл .gitlab-ci.yml, в котором в формате YAML нужно описать сценарий. Добавьте текст сценария:

      stages:
        - build
        - test
        - pack
      
      build:
        stage: build
        script: g++ test.cpp -o hello
        artifacts:
          paths:
            - hello
      
      test:
        stage: test
        script: ./hello
      
      pack:
        stage: pack
        script: gzip -c hello > hello.gz
        artifacts:
          paths:
            - hello.gz
      

      В сценарии указано, что работа разделена на три этапа, которые выполняются последовательно:

      • build — на первом этапе выполняется компиляция проекта в исполняемый файл hello.
      • test — на втором исполняемый файл запускается.
      • pack — на третьем этапе создается архив с исполняемым файлом, который можно будет загрузить через веб-интерфейс GitLab после успешного завершения сценария. В блоке artifacts указаны файлы, доступные для загрузки.

      Задача build сохраняет исполняемый файл hello как артефакт. По умолчанию задачи следующих этапов скачивают артефакты предыдущих этапов, поэтому файл hello будет доступен задачам test и pack. Без этого артефакта обе задачи завершатся с ошибкой. Подробнее в документации GitLab.

      Сценарий тестирования

    5. Нажмите Commit changes

После коммита система автоматически начнет тестировать последний коммит. Чтобы проверить результаты тестирования, на панели слева в проекте GitLab выберите пункт Build, в выпадающем меню выберите пункт Pipelines. В результате должна появиться строчка с первым тестом и статусом passed. Нажав на значок с облаком вы можете загрузить артефакты сборки.

Создайте ошибку в проектеСоздайте ошибку в проекте

Теперь сделайте так, чтобы в проекте произошла ошибка, которую раннер должен помочь найти в процессе выполнения тестирования. Для этого:

  1. Зайдите в репозиторий проекта и откройте файл test.cpp.

  2. Нажмите Edit.

  3. Укажите в проверке (assert), что результат выполнения умножения 2 на 2 должен быть равен 5. В этом случае при выполнении программы произойдет ошибка и она завершится некорректно.

    ...
    assert(2 * 2 == 5);
    ...
    
  4. Назовите коммит Wrong assert in test.cpp.

  5. Нажмите Commit Changes.

Откройте раздел Build → Pipelines. В столбце Stages видно, что в результате выполнения теста был успешно пройден первый этап build, а на втором этапе test произошла ошибка. Третий этап pack был пропущен и итоговые артефакты не были сформированы.

Если нажать на статус выполнения failed и перейти на вкладку Failed Jobs, можно увидеть текст ошибки, где указано, что не выполнился assert:

Ошибка выполнения

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за развернутый сервер, достаточно удалить созданную ВМ gitlab.

Если вы зарезервировали статический публичный IP-адрес специально для этой ВМ:

  1. Перейдите в сервис Virtual Private Cloud из вашего каталога.
  2. Откройте вкладку Публичные IP-адреса.
  3. Найдите нужный адрес, нажмите значок и выберите пункт Удалить.

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

Предыдущая
Непрерывное развертывание контейнеризованных приложений с помощью GitLab
Следующая
Создание тестовых ВМ через GitLab CI
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»