Skip to main content

Вводная о раннерах

Раннер — это приложение, которое запускает джоб пайплайна в GitLab CI/CD. Мы используем свои раннеры, которые запускаем на выделенных для них вычислительных ресурсах.

О раннерах Gitlab

Типы раннеров

Shared

Shared-ранеры — это раннеры, которые доступны для всех по умолчанию. Особенностью данного типа раннеров является то, что доступность вычислительных ресурсов, а также их объем не гарантируется.

Tenant

Tenant-ранеры — это раннеры, выделенные для определенного тенанта. Для ранеров данного типа доступны три типа флейворов (Medium, Large и XL) с гарантированной квотой и вычислительными ресурсами.

Важно! Данный тип ранеров не доступен для данной инсталляции.

Tenant-ранеры

Medium

Раннер, который подходит для большинства сборок. Квота по умолчанию 20 параллельных задач. По запросу квота может быть увеличена.

Общее количество ресурсов, которое выделили под этот тип:

  • CPU: 3000m;
  • RAM: 6000Mi;
  • Storage: 25000Mi.

Large

Общее количество ресурсов, которое выделяется под одну Gitlab CI Job для данного ранера:

  • CPU: 7000m;
  • RAM: 14000Mi;
  • Storage: 35000Mi.

Чтобы запустить сборку:

  1. Откройте файл gitlab-ci.yaml.

  2. Укажите тег large.

job-name:
script:
...
tags:
- large

XL

Раннер, с помощью которых собирают тяжеловесные мобильные приложения.

Общее количество ресурсов, которое выделили под этот тип:

  • CPU: 15000m;
  • RAM: 28500Mi;
  • Storage: 45000Mi.

Чтобы запустить сборку:

  1. Откройте файл gitlab-ci.yaml.

  2. Укажите тег xl.

  script:
...
tags:
- xl

Ограничения сборок

Сборка может работать не более:

  • 4 часов на ветке master;
  • 4 часов на ветках c префиксом release*;
  • часа на всех остальных ветках.

Лимиты в 4 часа применяются только к пайплайнам, запущенным в ветке. Для пайплайнов в merge request — час.

О пайплайнах в ветке и merge request

В Gitlab два основных типа пайплайнов, они отличаются контекстом запуска:

  • branch pipeline — запущен в ветке;
  • merge request pipeline — запущен в merge request.

В конфигурации gitlab-ci.yaml вы можете указать, в какой пайплайн они попадут.