ОписаниеЗадачи
Модель джобы пайплайна. Все поля экспортные, пустые значения не попадают в YAML.
Создание — только через фабрику:
bsl
Задача = Фабрика.Новая();Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
Наименование | Строка | имя джобы |
Стадия | Строка | stage |
Скрипты | Массив из Строка | script |
ПередСкрипты | Массив из Строка | before_script |
ПослеСкрипты | Массив из Строка | after_script |
Когда | Строка | when |
ТегиРаннера | Массив из Строка | tags |
Таймаут | Строка | timeout |
Прерываемый | Булево | interruptible |
РазрешитьПадение | Булево | allow_failure |
СтартоватьСразу | Булево | needs: [] |
ГруппаРесурсов | Строка | resource_group |
Нуждается | Массив из Строка | needs |
Зависимости | Массив из Строка | dependencies |
Переменные | Соответствие | 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");