Концепции

Триггеры

Запуск тестов по cron-расписанию — включение/пауза в стиле GitLab, человекочитаемое расписание и часовые пояса

Обзор

Страница триггеров: расписание с человекочитаемым описанием и следующим запуском

Триггер запускает тест по расписанию: стандартное cron-выражение, целевая машина и опциональная конфигурация. Триггеры — это ночные регрессионные прогоны, soak-тесты на выходных и проверки каждые пятнадцать минут без кнопки Run.

Управляются на странице Triggers в админ-консоли.

Анатомия триггера

ПолеОписание
NameОтображаемое имя; опциональный description документирует, зачем нужно расписание
TestТест для запуска (обязателен)
MachineГенератор нагрузки, на котором он выполнится (обязателен)
ConfigurationОпциональная сохранённая конфигурация прогона; без неё — настройки самого теста
CronСтандартное 5-полевое cron-выражение, например 0 9 * * 2 — валидируется при сохранении
TimezoneIANA-часовой пояс, в котором вычисляется выражение (по умолчанию UTC)

Консоль показывает расписание словами под выражением — на языке интерфейса — так что 0 9 * * 2 читается как «в 09:00 по вторникам», а не как нечто, что нужно декодировать в уме.

Пауза и возобновление

У каждого триггера есть переключатель в стиле GitLab:

  • Включён — триггер показывает следующий запуск и срабатывает по расписанию. При включении следующий запуск пересчитывается от текущего момента.
  • На паузе — следующий запуск очищен, ничего не срабатывает; расписание и история сохраняются до возобновления.

Следующий запуск показывается, только пока триггер включён. Изменение cron-выражения или часового пояса у включённого триггера тоже пересчитывает его, а перед каждым срабатыванием он пересчитывается заново — рестарт control-plane никогда молча не пропустит запланированный запуск.

Нужен разовый запуск прямо сейчас? Кнопка run now запускает триггер немедленно, не трогая расписание.

История запусков

В списке триггеров хранится последний запуск каждого: когда он был, какая задача создана (со статусом в реальном времени) и последняя ошибка запуска, если была, — достигнута квота, пропущен overlapping-запуск, машина офлайн и т.д.

Дальше

  • Тесты и задачи — что именно запускает триггер.
  • REST API — триггеры полностью управляются через API.