Skip to content

ОписаниеЗадачи ​

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

Создание — только через фабрику:

bsl
Задача = Фабрика.Новая();

Поля ​

ПолеТипYAML-ключ
НаименованиеСтрокаимя джобы
СтадияСтрокаstage
СкриптыМассив из Строкаscript
ПередСкриптыМассив из Строкаbefore_script
ПослеСкриптыМассив из Строкаafter_script
КогдаСтрокаwhen
ПравилаМассив из Структураrules
ТегиРаннераМассив из Строкаtags
ТаймаутСтрокаtimeout
ПрерываемыйБулевоinterruptible
РазрешитьПадениеБулевоallow_failure
СтартоватьСразуБулевоneeds: []
ГруппаРесурсовСтрокаresource_group
НуждаетсяМассив из Строкаneeds
ЗависимостиМассив из Строкаdependencies
ПеременныеСоответствиеvariables
НаследуетДефолтыБулевоinherit: default
НаследуетПеременныеБулевоinherit: variables

Под-объекты ​

Создаются лениво при первом обращении:

ПолеТипYAML-ключ
ОбразОписаниеОбразаimage
Сервисы + НовыйСервис()Массив из ОписаниеСервисаservices
КэшОписаниеКэшаcache
АртефактыОписаниеАртефактовartifacts
ПовторОписаниеПовтораretry
ПараллельностьОписаниеПараллельностиparallel
ОкружениеОписаниеОкруженияenvironment
РелизОписаниеРелизаrelease
СтраницыОписаниеСтраницpages (для джобы с именем pages)

Методы ​

ДобавитьПеременную(Имя, Значение) ​

Переменная окружения джобы.

ДобавитьПередСкрипт(Команда) ​

ДобавитьПослеСкрипт(Команда) ​

НовыйСервис() ​

Создаёт сервис-контейнер и возвращает ОписаниеСервиса.

ДобавитьПравило(Условие = "", Когда = "", Изменения = Неопределено) ​

Правило rules. Используйте НовыйПравило() для расширенного заполнения.

ДобавитьПравилоЕслиСуществует(Путь, Условие = "") ​

ДобавитьПравилоСПеременными(Условие, ПеременныеПравила) ​

ДобавитьПравилоПаденияДопустимо(КодыВыхода = Неопределено) ​

НовыйПравило() ​

Возвращает структуру правила (поля: Условие, Когда, Изменения, СравнитьС, Существует, СуществуетВПроекте, СуществуетПоРефу, Переменные, РазрешитьПадение, КодыВыходаПадения).

РучнойЗапуск() / Всегда() / ПриУспехе() / ПриНеудаче() / Никогда() ​

Сахар для поля Когда (см. СобытияПайплайна).

ДоВсех() ​

Стадия .pre — джоба выполнится до всех стадий пайплайна.

ПослеВсех() ​

Стадия .post — после всех стадий.

Пример ​

bsl
Задача = Фабрика.Новая();
Задача.Наименование = "deploy-prod";
Задача.Стадия = "deploy";
Задача.ТегиРаннера.Добавить("prod");
Задача.Таймаут = "1h";
Задача.Прерываемый = Истина;
Задача.ГруппаРесурсов = "production";
Задача.ДобавитьПеременную("TARGET", "prod");
Задача.Нуждается.Добавить("build");
Задача.Скрипты.Добавить("make deploy");