Планировщик конвейеров
Функционал доступен в Enterprise и On-premise версиях
В GitFlic вы можете по расписанию запускать настраиваемые конвейеры.
За это отвечает Планировщик конвейеров – найти его можно, нажав на странице CI/CD кнопку Планировщик конвейеров
Расписания в проекте
Вы попадете на страницу расписания конвейеров - здесь будут отображаться созданные вами расписания для данного проекта и информация о них:
- Статус активности:
Активен
/Неактивен
- показывает, будут ли по этому расписанию создаваться конвейеры или их создание приостановлено - Цель: ветка или тег, на которых будет запущен конвейер.
- График: график создания конвейеров в 5-разрядном cron-формате
- Автор: пользователь, установивший текущее расписание
- Описание: заданное описание
Расписание можно приостановить (и возобновить), настроить, а также полностью удалить.
Автоматическое создание конвейеров
За создание конвейеров отвечает планировщик.
По умолчанию он просыпается раз в 5 минут и запускает самые актуальные для расписания конвейеры, которые за это время должны быть созданы.
Если с запланированного момента сборки конвейера прошло времени больше, чем указано в соответствующем свойстве, и он все еще не создан, конвейер пропускается.
Пример:
- Конвейер запланирован на
7:30
ежедневно (30 7 * * *
)- Сервис (либо график) ночью не работал и был запущен только в
8:10
По умолчанию конвейер будет пропущен. Если значение соответствующего свойства установлено равным 40 или больше, данный конвейер будет собран в
8:10
.
По умолчанию в рамках одного проекта за день может быть создано не более 50 плановых конвейеров
Свойство | Назначение | Значение по умолчанию |
---|---|---|
gitflic.ci-cd.scheduled-pipeline.leader |
Свойство, включающее планировщик на конкретном инстансе. По умолчанию планировщик включен. | true |
gitflic.ci-cd.scheduled-pipeline.limit-per-day |
Максимальное количество конвейеров в день по всем расписаниям на один проект | 50 |
gitflic.ci-cd.scheduled-pipeline.latency-minutes |
Максимально возможное время между запланированным и фактическим началом подготовки конвейера к выполнению | 5 |
gitflic.ci-cd.scheduled-pipeline.scheduler-cron |
График пробуждения планировщика. Указывается в 6-разрядном cron-формате, начиная с секунд | 1 0/5 * * * * |
Создание нового расписания
Чтобы создать новое расписание, нажмите кнопку “Новое расписание” в правом верхнем углу.
Цель
Укажите целевую ветку или тег - при создании конвейера планировщик выберет самый актуальный на момент создания коммит.
Конфигурационный файл
Укажите .yaml
файл конфигурации, который будет использоваться агентом. Он может отличаться от стандартного и может быть индивидуальным для каждого расписания.
Например, вы можете указать файл
custom.yaml
, который будет использоваться всеми конвейерами данного расписания вне зависимости от настроенного в проекте.
График cron
Укажите график создания конвейеров в cron-формате. В GitFlic cron-формат поддерживает 5 разрядов:
- минута
- час
- день месяца
- месяц
- день недели
Подробнее:
- man
-
Если вам нужна иная часовая зона, нежели ваша стандартная системная, вы можете явно выбрать требуемую.
CI/CD переменные
Предопределенная CI/CD переменная
Для каждого конвейера, запущенного по расписанию, устанавливается глобальная переменная: CI_PIPELINE_SOURCE: schedule
Пользовательские переменные
Для каждого расписания могут быть настроены пользовательские CI/CD переменные. Они имеют приоритет над обычными CI/CD переменными проекта.
Например, если в проекте есть переменная
INFO: Обычный конвейер
, а в расписанииINFO: Утренний конвейер с тестами master
, при запуске конвейера этого расписания в переменной будет храниться значениеУтренний конвейер с тестами master
, а при запуске обычного конвейера -Обычный конвейер
.
Настройки расписания
Все указанные поля, а также переменные можно настроить в будущем на странице расписания, нажав на три точки и перейдя на страницу редактирования.
Статус активности при этом действии не меняется. Будьте внимательны, редактируя активное расписание - сразу после сохранения изменений оно продолжит работу по новому графику