Skip to content

Публичный интерфейс библиотеки pipeliner ​

Желуди ​

Под-объекты задачи ​

Список под-объектов

Модули ​

Список модулей

ВидыОтчетов ​

Модуль-константа видов отчётов для artifacts:reports. Источник правды — именованные методы, набор Допустимые() наполняется из них.

Методы-виды ​

МетодЗначение
Юнит()junit
САСТ()sast
ДАСТ()dast
Дотенв()dotenv
СканированиеЗависимостей()dependency_scanning
ПоискСекретов()secret_detection
КачествоКода()codequality
СканированиеКонтейнеров()container_scanning
САРИФ()sarif
ЦиклонДХ()cyclonedx
Терраформ()terraform
ФаззингАПИ()api_fuzzing
ФаззингПокрытия()coverage_fuzzing
ПроизводительностьБраузера()browser_performance
НагрузочныеТесты()load_performance
Доступность()accessibility
Аннотации()annotations
Метрики()metrics
Требования()requirements

Форматы покрытия ​

Для ДобавитьОтчетПокрытия(): Кобертура() (cobertura), Джакоко() (jacoco), ЛКов() (lcov), СимплКов() (simplecov).

Справочные методы ​

  • Допустимые() — массив всех допустимых видов
  • ФорматыПокрытия() — массив допустимых форматов покрытия

Пример ​

bsl
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "junit.xml");
Задача.Артефакты.ДобавитьОтчетПокрытия(ВидыОтчетов.Кобертура(), "coverage.xml");

ВремяГитЛаб ​

Модуль форматирования длительности для ключей вида timeout, start_in, auto_stop_in.

ФункцияПример результата
ВСекунды(2)2 seconds
ВМинуты(30)30 minutes
ВЧасы(2)2 hours
ВДни(3)3 days
ВНедели(1)1 week
ВМесяцы(6)6 months
ВГоды(2)2 years

Пример ​

bsl
Задача.Таймаут = ВремяГитЛаб.ВЧасы(2);
Деплой.Окружение.АвтоОстановка = ВремяГитЛаб.ВНедели(1);

ГенераторПайплайнаГитлаб ​

Собирает YAML пайплайна из накопленных задач и записывает в файл.

Получение:

bsl
Генератор = Поделка.НайтиЖелудь("ГенераторПайплайнаГитлаб");

СформироватьПайплайн(ПутьКФайлу) ​

Валидирует задачи и пишет YAML пайплайна.

bsl
Генератор.СформироватьПайплайн(".gitlab-ci.yml");

Параметры:

  • ПутьКФайлу - Строка - путь к файлу результата

Валидации, выполняемые при генерации:

ПроверкаИсключение
needs ссылается на несуществующую джобуС перечнем доступных джоб
СтартоватьСразу + непустой НуждаетсяВзаимоисключающие настройки
Окружение заполнено без ИмяНельзя построить валидный environment
Окружение.Действие не из набораС перечнем допустимых
Окружение.ПриОстановке на несуществующую джобуПо образцу needs
Релиз заполнен без Тег/ОписаниеС именем задачи
Джоба pages без артефактов/публикацииНе опубликует ничего
Джоба pages не в стадии deployТребование GitLab
Параллельность: заданы и число, и матрицаВзаимоисключающие

Порядок топ-левел секций: default → stages → variables → coverage → джобы.

Пустые значения не выводятся в YAML.


Гитлаб ​

Модуль-помощник для работы с окружением GitLab и зарезервированными сущностями.

ПолучитьПеременнуюСредыГитлаб(Переменная) ​

Возвращает значение переменной среды GitLab. При локальном запуске (вне CI), если переменная не задана, возвращает её имя с префиксом $ — генерация пайплайна работает без окружения GitLab.

bsl
Версия = Гитлаб.ПолучитьПеременнуюСредыГитлаб("CI_COMMIT_TAG");
// В CI: реальное значение
// Локально: "$CI_COMMIT_TAG"

ИсточникСобытияПайплайна() ​

Значение CI_PIPELINE_SOURCE.

ЭтоМержРеквест() ​

Истина, если пайплайн запущен событием мерж-реквеста.

ЗарезервированныеСтадии() ​

Реестр зарезервированных стадий GitLab — единственное место их перечисления в библиотеке.

Возвращаемое значение: Соответствие, ключ → значение:

КлючЗначение
ДоВсех.pre
ПослеВсех.post

Генератор фильтрует эти стадии из stages по реестру; сахар Задача.ДоВсех()/ПослеВсех() берёт имена из него же. Новая зарезервированная стадия добавляется одной строкой в реестр.


ДействияОкружения ​

Модуль-константа действий для environment:action. Источник правды — именованные методы, набор Допустимые() наполняется из них.

Методы ​

МетодЗначениеСмысл
Запуск()startРазвёртывание (дефолт)
Подготовка()prepareПодготовить окружение без создания
Остановка()stopОстановить окружение
Проверка()verifyПроверить окружение
Доступ()accessТолько доступ

Допустимые() ​

Массив всех значений — используется для валидации в генераторе.

Пример ​

bsl
СтопДжоба.Окружение.Действие = ДействияОкружения.Остановка();

ЛокаторСтадийПайплайна ​

Загружает стадии пайплайна из .os-файлов каталога.

При инициализации поделки сканирует каталог (по умолчанию ./pipeline) и подключает каждый *.os-файл как сценарий. Имя файла становится именем сценария.

Настройка каталога ​

Каталог настраивается через &Деталька при создании (значение по умолчанию ./pipeline).


ОписаниеАртефактов ​

Артефакты джобы (artifacts). Доступ: Задача.Артефакты

Поля ​

ПолеТипYAML-ключ
ИмяСтрокаname
КогдаСтрокаwhen
ВремяХраненияСтрокаexpire_in
ПутиМассив из Строкаpaths
ИсключитьМассив из Строкаexclude
НеотслеживаемыеБулевоuntracked
ПубличныйБулевоpublic
ПоказыватьКакСтрокаexpose_as
ОтчетыСоответствиеreports

Методы ​

Всегда() / ПриУспехе() / ПриНеудаче() ​

Сахар для поля Когда (когда выгружать артефакты): always / on_success (по умолчанию) / on_failure.

ДобавитьПуть(Путь) ​

Добавляет путь в артефакты.

ДобавитьИсключение(Путь) ​

Добавляет исключение (маску) из артефактов.

ДобавитьОтчет(Тип, Путь) ​

Добавляет отчёт по типу с валидацией типа. Тип берите из модуля ВидыОтчетов:

bsl
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "junit.xml");
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.САСТ(), "gl-sast-report.json");

Недопустимый вид → исключение с перечнем допустимых.

ДобавитьОтчетПокрытия(Формат, Путь) ​

Отчёт покрытия coverage_report с валидацией формата (cobertura/jacoco/lcov/simplecov):

bsl
Задача.Артефакты.ДобавитьОтчетПокрытия(ВидыОтчетов.Кобертура(), "coverage.xml");

Пример ​

bsl
Артефакты = Задача.Артефакты;
Артефакты.Имя = "$CI_JOB_NAME-artifacts";
Артефакты.ВремяХранения = "1 week";
Артефакты.ДобавитьПуть("dist/");
Артефакты.ДобавитьИсключение("dist/*.tmp");
Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "junit.xml");

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

Модель джобы пайплайна. Все поля экспортные, пустые значения не попадают в 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");

ОписаниеКэша ​

Кэш джобы (cache). Доступ: Задача.Кэш

Поля ​

ПолеТипYAML-ключ
ПутиМассив из Строкаpaths
КлючСтрокаkey
КлючПоФайламМассив из Строкаkey: files
КлючПоКоммитамМассив из Строкаkey: files_commits
ПрефиксКлючаСтрокаkey: prefix
КогдаСтрокаwhen
ПолитикаСтрокаpolicy
НеотслеживаемыеБулевоuntracked
БезЗащитыБулевоunprotect
РезервныеКлючиМассив из Строкаfallback_keys

Методы ​

ДобавитьПуть(Путь) ​

Добавляет путь в кэш.

Всегда() / ПриУспехе() / ПриНеудаче() ​

Сахар для поля Когда (когда использовать кэш): always / on_success (по умолчанию) / on_failure.

ТолькоЧтение() / ТолькоЗапись() / ЧтениеИЗапись() ​

Политика кэша: pull / push / pull-push (по умолчанию).

Пример ​

bsl
Задача.Кэш.ДобавитьПуть("vendor/");
Задача.Кэш.КлючПоФайлам.Добавить("packagedef");

ОписаниеОбраза ​

Образ контейнера джобы (image).

Доступ: Задача.Образ

Поля ​

ПолеТипОписание
ИмяСтрокаИмя образа, например alpine:3.19
ПолитикаОбразаСтрокаpull_policy (заполняется через методы ниже)

Методы ​

ДобавитьКомандуЭнтрипоинт(Команда) ​

Добавляет команду в entrypoint.

Энтрипоинт() ​

Возвращает массив команд entrypoint.

УказатьПолитику(Политика) ​

Устанавливает pull_policy с валидацией. Допустимые значения:

  • always — всегда скачивать
  • never — никогда не скачивать
  • if-not-present — скачать, если отсутствует локально
  • pull — принудительно выкачивать (GitLab/раннер >= 15.1)

Недопустимое значение — исключение с перечнем допустимых.

Сахар-методы (через УказатьПолитику) ​

МетодПолитика
Всегда()always
Никогда()never
ЕслиОтсутствует()if-not-present
Принудительно()pull

ДопустимыеПолитики() ​

Возвращает массив допустимых политик.

Пример ​

bsl
Задача.Образ.Имя = "docker:latest";
Задача.Образ.Всегда();

ОписаниеОкружения ​

Деплой-окружение джобы (environment). Доступ: Задача.Окружение

Поля ​

ПолеТипYAML-ключ
ИмяСтрокаname
УРЛСтрокаurl
ПриОстановкеСтрокаon_stop (имя стоп-джобы)
ДействиеСтрокаaction (см. модуль ДействияОкружения)
АвтоОстановкаСтрокаauto_stop_in, например 1 week

Валидации при генерации ​

  • Недопустимое действие → исключение с перечнем допустимых (см. ДействияОкружения.Допустимые())
  • Заполнено что-то, но Имя пустое → исключение (url без name невалиден)
  • ПриОстановке ссылается на несуществующую джобу → исключение

Пустое окружение → ключ не выводится.

Пример (review-app паттерн) ​

bsl
// Джоба развёртывания
Деплой.Окружение.Имя = "review/$CI_COMMIT_REF_SLUG";
Деплой.Окружение.УРЛ = "https://$CI_ENVIRONMENT_SLUG.example.com";
Деплой.Окружение.ПриОстановке = "stop-review";
Деплой.Окружение.АвтоОстановка = "1 week";

// Стоп-джоба
Стоп.Окружение.Имя = "review/$CI_COMMIT_REF_SLUG";
Стоп.Окружение.Действие = ДействияОкружения.Остановка();

ОписаниеПайплайна ​

Топ-левел настройки пайплайна. Получение:

bsl
ОписаниеПайплайна = Поделка.НайтиЖелудь("ОписаниеПайплайна");

Поля ​

ПолеТипYAML-ключ
ПередСкриптыМассив из Строкаdefault.before_script
ПослеСкриптыМассив из Строкаdefault.after_script
ПеременныеСоответствиеvariables
ШаблонПокрытияСтрокаcoverage

Методы ​

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

Команда глобального before_script.

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

Команда глобального after_script.

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

Глобальная переменная пайплайна (выводится в корень variables).

Пример ​

bsl
ОписаниеПайплайна.ДобавитьПеременную("REGISTRY", "registry.example.com");
ОписаниеПайплайна.ШаблонПокрытия = "/^Total.*?(\d+\s*)$/";
ОписаниеПайплайна.ДобавитьПередСкрипт("opm install -l");

ОписаниеПараллельности ​

Параллельный запуск джобы (parallel). Доступ: Задача.Параллельность

Поля ​

ПолеТипYAML-ключ
КоличествоЧислоparallel (число копий)
МатрицаМассив из Соответствиеparallel.matrix

Методы ​

ДобавитьРядМатрицы(ИмяПеременной, Значения) ​

Независимый ряд матрицы с одной переменной:

bsl
ОС = Новый Массив();
ОС.Добавить("ubuntu");
ОС.Добавить("windows");
Задача.Параллельность.ДобавитьРядМатрицы("OS", ОС);

ДобавитьРяд(Ряд) ​

Ряд из соответствия — комбинации всех переменных ряда перемножаются (декартово произведение):

bsl
Ряд = Новый Соответствие();
Ряд.Вставить("OS", ОС);
Ряд.Вставить("VERSION", Версии);
Задача.Параллельность.ДобавитьРяд(Ряд);

Валидация ​

Число и матрица взаимоисключающие — одновременное задание роняет генерацию.

Вывод ​

yaml
# Число
parallel: 5

# Независимые ряды
parallel:
  matrix:
    - OS: [ubuntu, windows]
    - VERSION: ["17", "19"]

# Декартово произведение
parallel:
  matrix:
    - OS: [ubuntu, windows]
      VERSION: ["17", "19"]

Копии получают CI_NODE_INDEX и CI_NODE_TOTAL.


ОписаниеПовтора ​

Политика повторных запусков джобы (retry). Доступ: Задача.Повтор

Поля ​

ПолеТипYAML-ключ
ПовторыЧислоmax (или скалярный retry)
ПовторыКогдаМассив из Строкаwhen
КодыВыходаМассив из Числаexit_codes

Методы ​

ДобавитьУсловие(Условие) ​

Добавляет условие повтора с валидацией. Условия берите из модуля УсловияПовтора:

bsl
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойРаннера());

ДобавитьКодВыхода(Код) ​

Код выхода, при котором повторять:

bsl
Задача.Повтор.ДобавитьКодВыхода(42);

Вывод ​

ЗаданоYAML
Только числоretry: 2
Одно условиеretry: {max: 2, when: script_failure}
Несколько условийwhen: [...] (массив)
Дубли условий/кодовСворачиваются

Пример ​

bsl
Задача.Повтор.Повторы = 2;
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());
Задача.Повтор.ДобавитьКодВыхода(42);

ОписаниеРелиза ​

Создание релиза из джобы (release). Доступ: Задача.Релиз

Поля ​

ПолеТипYAML-ключОбязательное
ТегСтрокаtag_nameда
ОписаниеСтрокаdescriptionда
СообщениеТегаСтрокаtag_messageнет
ИмяСтрокаnameнет
РефСтрокаrefнет
ДатаВыходаСтрокаreleased_atнет
ВехиМассив из Строкаmilestonesнет
СсылкиМассив из Структураassets.linksнет

Методы ​

ДобавитьВеху(Веха) ​

ДобавитьСсылку(Имя, УРЛ) ​

Ссылка на ассет релиза.

Валидация ​

Заполнено что-то, но пустые Тег или Описание → исключение с именем задачи. Полностью пустой релиз → ключ не выводится.

Пример ​

bsl
Релиз.Релиз.Тег = "$CI_COMMIT_TAG";
Релиз.Релиз.Описание = "Что нового в $CI_COMMIT_TAG";
Релиз.Релиз.Имя = "Версия $CI_COMMIT_TAG";
Релиз.Релиз.ДобавитьСсылку("Дистрибутив", "https://example.com/distr.cf");

ОписаниеСервиса ​

Сервис-контейнер джобы (services). Создание через фабрику задачи:

bsl
Сервис = Задача.НовыйСервис();

Поля ​

ПолеТипYAML-ключ
ИмяСтрокаname
АлиасСтрокаalias
ПеременныеСоответствиеvariables

Методы ​

ДобавитьКомандуЭнтрипоинт(Команда) ​

Добавляет команду в entrypoint.

Энтрипоинт() ​

Возвращает массив команд entrypoint.

ДобавитьКоманду(Команда) ​

Добавляет команду в command.

ПолучитьКоманду() ​

Возвращает массив команд command.

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

Переменная окружения сервиса.

Пример ​

bsl
База = Задача.НовыйСервис();
База.Имя = "postgres:14";
База.Алиас = "db";
База.ДобавитьПеременную("POSTGRES_PASSWORD", "secret");

YAML:

yaml
services:
  - name: postgres:14
    alias: db
    variables:
      POSTGRES_PASSWORD: secret

ОписаниеСтраниц ​

Публикация GitLab Pages (pages:publish). Доступ: Задача.Страницы

Работает для джобы с именем pages — особого имени в GitLab.

Поля ​

ПолеТипYAML-ключ
ПутьЭкспортаСтрокаpages.publish

Методы ​

Публиковать(Путь) ​

Задаёт каталог публикации. Путь автоматически добавляется в artifacts:paths (GitLab 17.10+).

ПутьПубликации() ​

Возвращает заданный путь.

Валидации при генерации ​

  • Джоба pages без публикации и без артефактов → исключение (публикации не будет)
  • Джоба pages не в стадии deploy → исключение

Пример ​

bsl
Страницы = Фабрика.Новая();
Страницы.Наименование = "pages";
Страницы.Стадия = "deploy";
Страницы.Страницы.Публиковать("dist");
Страницы.Скрипты.Добавить("npx @11ty/eleventy --output=dist");

YAML:

yaml
pages:
  stage: deploy
  script:
    - npx @11ty/eleventy --output=dist
  pages:
    publish: dist
  artifacts:
    paths:
      - dist

Скрипты ​

Модуль-фабрика команд для инструментов 1С-разработки на базе vanessa-runner 3.0. Каждая функция возвращает готовую строку команды для Скрипты.Добавить().

Все функции возвращают Строка. Обязательные параметры — в начале, необязательные — со значением по умолчанию. Необязательный параметр со значением Неопределено не попадает в команду.

Общие параметры ​

Эти параметры встречаются у большинства функций и описаны один раз здесь.

СтрокаПодключения ​

Строка подключения к информационной базе в формате 1С:

  • /F<путь> — файловая база, например /Fbuild/ib;
  • /S<сервер>\<база> — серверная база, например /Sserver\base.

ИспользоватьИбкмд ​

Булево, по умолчанию Истина. Добавляет флаг --ibcmd: операция выполняется утилитой ibcmd вместо полного запуска платформы (быстрее, не требует запуска 1С). У команд запуска 1С (run, test) этого параметра нет — там используется ИспользоватьАвтономныйСервер.

ИспользоватьАвтономныйСервер ​

Булево, по умолчанию Истина. Добавляет флаг --ibsrv: для команд run/test vrunner поднимает автономный сервер и выполняет операцию в нём.

Опции EDT (--edt-*) ​

Набор опций для команд, работающих с исходниками 1С:EDT. Передаются параметрами:

  • КаталогВоркспейсаЕДТ — каталог рабочей области EDT (--edt-workspace); по умолчанию vrunner использует временный каталог, передавать не обязательно.
  • ФорматИсходников — auto (по умолчанию), edt или xml (--src-format).
  • ПутьКЕДТ — путь к 1cedtcli (--edt-path), если утилита не в PATH.
  • ВерсияЕДТ — версия EDT (--edt-version).
  • ТаймаутЕДТВСек — таймаут операций 1cedtcli в секундах (--edt-timeout).
  • ПамятьВГБ — память для JVM (--edt-vmargs=-Xmx<ПамятьВГБ>g).

Прочее (не vrunner) ​

ГенерацияОСкриптЛинукс(Скрипт, ИмяФайла) ​

Генерирует shell-команду (cat << 'EOF'), которая записывает содержимое Скрипт в файл ИмяФайла. Обычно используется, чтобы на лету создать oscript-скрипт в пайплайне и затем запустить его через ВыполнитьОСкрипт.

ПараметрТипОписание
СкриптСтрокаСодержимое скрипта — oscript-код (многострочный текст)
ИмяФайлаСтрокаИмя создаваемого файла, например run.os

Пример:

bsl
ТекстСкрипта = "Сообщить(""Сборка конфигурации началась"");";
Задача.Скрипты.Добавить(Скрипты.ГенерацияОСкриптЛинукс(ТекстСкрипта, "run.os"));
Задача.Скрипты.Добавить(Скрипты.ВыполнитьОСкрипт("run.os"));

Сгенерирует команду:

sh
cat << 'EOF' > run.os
Сообщить("Сборка конфигурации началась");
EOF

ВыполнитьОСкрипт(ИмяФайла, Параметры = Неопределено) ​

Запуск скрипта через oscript.

ПараметрТипПо умолчаниюОписание
ИмяФайлаСтрока—Путь к .os-файлу
ПараметрыМассив из СтрокаНеопределеноАргументы командной строки, соединяются пробелом

Пример:

bsl
Параметры = Новый Массив();
Параметры.Добавить("--mode");
Параметры.Добавить("build");
Задача.Скрипты.Добавить(Скрипты.ВыполнитьОСкрипт("build/build.os", Параметры));

ЛогЭхоЛинукс(ТекстСообщения = "") ​

Строка echo с таймстампом — для пометки этапов в логе пайплайна.

ПараметрТипПо умолчаниюОписание
ТекстСообщенияСтрока""Сообщение, например "Сборка конфигурации"

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЛогЭхоЛинукс("Сборка конфигурации"));

cf — конфигурация ​

СобратьКонфигурациюИзФайлов(КаталогИсходников, ПутьКФайлу, ИспользоватьИбкмд = Истина) ​

Сборка файла .cf из каталога исходников.

vrunner cf compile [--ibcmd] -s <КаталогИсходников> <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрока—Каталог исходников (XML-выгрузка или EDT-проект), например build/cf
ПутьКФайлуСтрока—Путь к собираемому файлу, например build/conf.cf
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СобратьКонфигурациюИзФайлов("build/cf", "build/conf.cf"));

РазобратьКонфигурациюВИсходники(КаталогИсходников, ПутьКФайлу = Неопределено, СтрокаПодключения = Неопределено, ИспользоватьИбкмд = Истина) ​

Выгрузка конфигурации в исходники: из файла .cf либо из базы.

vrunner cf decompile [--ibcmd] [--cf-file <ПутьКФайлу>] [--ibconnection <СтрокаПодключения>] <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрока—Каталог для выгрузки исходников
ПутьКФайлуСтрокаНеопределеноФайл .cf; если не задан — выгрузка из базы
СтрокаПодключенияСтрокаНеопределеноБаза, из которой выгружать (нужна, если не задан ПутьКФайлу)
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
// из файла
Задача.Скрипты.Добавить(Скрипты.РазобратьКонфигурациюВИсходники("build/src", "build/conf.cf"));

// из базы
Задача.Скрипты.Добавить(Скрипты.РазобратьКонфигурациюВИсходники("build/src", , "/Fbuild/ib"));

ЗагрузитьКонфигурациюИзФайлов(СтрокаПодключения, КаталогИсходников, ИспользоватьИбкмд = Истина) ​

Загрузка конфигурации из исходников в базу (без обновления БД — используйте ОбновитьКонфигурациюБД отдельно).

vrunner cf load [--ibcmd] --ibconnection <СтрокаПодключения> <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
КаталогИсходниковСтрока—Каталог исходников, например build/src
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьКонфигурациюИзФайлов("/Fbuild/ib", "build/src"));

ВыгрузитьКонфигурациюВФайл(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина) ​

Выгрузка конфигурации из базы в файл .cf.

vrunner cf unload [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ПутьКФайлуСтрока—Файл результата, например build/conf.cf
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьКонфигурациюВФайл("/Fbuild/ib", "build/conf.cf"));

СоздатьФайлПоставки(СтрокаПодключения, ПутьКФайлу) ​

Создание файла поставки (.cf с полной поставкой) из базы.

vrunner cf make-dist --ibconnection <СтрокаПодключения> <ПутьКФайлу>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib
ПутьКФайлуСтрокаФайл результата, например build/1Cv8-dist.cf

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СоздатьФайлПоставки("/Fbuild/ib", "build/1Cv8-dist.cf"));

ОбъединитьКонфигурацию(СтрокаПодключения, ФайлКонфигурации, ФайлНастроекОбъединения, ПоставитьНаПоддержку = Ложь, СнятьСПоддержки = Ложь, Принудительно = Ложь) ​

Объединение конфигурации базы с файлом по настройкам объединения.

vrunner cf merge -s <ФайлКонфигурации> --merge-settings <ФайлНастроекОбъединения> [--enable-support] [--disable-support] [--force] --ibconnection <СтрокаПодключения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ФайлКонфигурацииСтрока—Файл .cf для объединения
ФайлНастроекОбъединенияСтрока—Файл настроек объединения
ПоставитьНаПоддержкуБулевоЛожьФлаг --enable-support
СнятьСПоддержкиБулевоЛожьФлаг --disable-support
ПринудительноБулевоЛожьФлаг --force

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ОбъединитьКонфигурацию(
	"/Fbuild/ib", "build/vendor.cf", "build/merge.xml", Истина, Ложь, Ложь));

ОбновитьКонфигурациюНаПоддержке(СтрокаПодключения, ФайлОбновления, ФайлНастроекОбъединения = Неопределено, Принудительно = Ложь, ОбновитьКонфигурациюБД = Истина) ​

Обновление конфигурации, стоящей на поддержке, из файла поставщика (.cfu или .cf).

vrunner cf vendor-update -s <ФайлОбновления> [--update-settings <ФайлНастроекОбъединения>] [--force] [--no-update-db] --ibconnection <СтрокаПодключения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ФайлОбновленияСтрока—Файл .cfu или .cf поставщика
ФайлНастроекОбъединенияСтрокаНеопределеноФайл настроек объединения
ПринудительноБулевоЛожьФлаг --force
ОбновитьКонфигурациюБДБулевоИстинаЕсли Ложь — флаг --no-update-db

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюНаПоддержке(
	"/Fbuild/ib", "build/vendor.cfu", "build/update.xml"));

СравнитьКонфигурацию(ВторойФайл, ПервыйФайл = Неопределено, СтрокаПодключения = Неопределено, КаталогОтчета = Неопределено, ТипОтчета = Неопределено, ФорматОтчета = Неопределено) ​

Сравнение конфигураций: файл с файлом либо файл с базой.

vrunner cf compare --second-cf <ВторойФайл> [--first-cf <ПервыйФайл>] [--ibconnection <СтрокаПодключения>] [--report-dir <КаталогОтчета>] [--report-type <ТипОтчета>] [--report-format <ФорматОтчета>]

ПараметрТипПо умолчаниюОписание
ВторойФайлСтрока—Файл .cf, с которым сравниваем
ПервыйФайлСтрокаНеопределеноПервый файл .cf; если не задан — конфигурация из базы
СтрокаПодключенияСтрокаНеопределеноБаза (нужна, если ПервыйФайл не задан)
КаталогОтчетаСтрокаНеопределеноКаталог отчёта (по умолчанию текущий)
ТипОтчетаСтрокаНеопределеноFull или Brief
ФорматОтчетаСтрокаНеопределеноtxt или mxl

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СравнитьКонфигурацию(
	"build/new.cf", "build/old.cf", , "build/report", "Brief", "txt"));

КонвертацияЕДТВКонфигуратор(КаталогЕДТ, КаталогКонфигуратор, ПамятьВГБ = 8) ​

Конвертация исходников между форматами: проект 1С:EDT ↔ XML-дамп Конфигуратора.

vrunner cf convert -s <КаталогЕДТ> [--edt-vmargs=-Xmx<ПамятьВГБ>g] <КаталогКонфигуратор>

ПараметрТипПо умолчаниюОписание
КаталогЕДТСтрока—Проект 1С:EDT, например build/edt
КаталогКонфигураторСтрока—Каталог XML-дампа Конфигуратора, например build/cf
ПамятьВГБЧисло8Память для JVM 1cedtcli (флаг --edt-vmargs=-Xmx<ПамятьВГБ>g)

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.КонвертацияЕДТВКонфигуратор("build/edt", "build/cf", 16));

cfe — расширения ​

СобратьРасширениеИзФайлов(КаталогИсходников, ПутьКФайлу, ИмяРасширения = Неопределено, ИспользоватьИбкмд = Истина) ​

Сборка файла .cfe из каталога исходников расширения.

vrunner cfe compile [--ibcmd] -s <КаталогИсходников> [--extension-name <ИмяРасширения>] <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрока—Каталог исходников, например build/ext/src
ПутьКФайлуСтрока—Файл результата, например build/ext.cfe
ИмяРасширенияСтрокаНеопределеноИмя расширения, например YAXUNIT
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СобратьРасширениеИзФайлов(
	"build/ext/src", "build/ext.cfe", "YAXUNIT"));

РазобратьРасширениеВИсходники(ПутьКФайлу, ИмяРасширения, КаталогИсходников, ИспользоватьИбкмд = Истина) ​

Разбор файла .cfe в исходники.

vrunner cfe decompile [--ibcmd] --cfe-file <ПутьКФайлу> --extension-name <ИмяРасширения> <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
ПутьКФайлуСтрока—Файл .cfe
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
КаталогИсходниковСтрока—Каталог для выгрузки исходников
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.РазобратьРасширениеВИсходники(
	"build/ext.cfe", "YAXUNIT", "build/ext/src"));

ЗагрузитьРасширениеИзФайлов(СтрокаПодключения, КаталогИсходников, ИмяРасширения, ИспользоватьИбкмд = Истина) ​

Загрузка расширения из исходников в базу.

vrunner cfe load [--ibcmd] --ibconnection <СтрокаПодключения> --extension-name <ИмяРасширения> <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
КаталогИсходниковСтрока—Каталог исходников, например build/ext/src
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьРасширениеИзФайлов(
	"/Fbuild/ib", "build/ext/src", "YAXUNIT"));

ВыгрузитьРасширениеВФайл(СтрокаПодключения, ИмяРасширения, ПутьКФайлу, ИспользоватьИбкмд = Истина) ​

Выгрузка расширения из базы в файл .cfe.

vrunner cfe unload [--ibcmd] --ibconnection <СтрокаПодключения> --extension-name <ИмяРасширения> <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
ПутьКФайлуСтрока—Файл результата, например build/ext.cfe
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьРасширениеВФайл("/Fbuild/ib", "YAXUNIT", "build/ext.cfe"));

СравнитьРасширение(ИмяРасширения, ВторойФайл, ПервыйФайл = Неопределено, СтрокаПодключения = Неопределено, КаталогОтчета = Неопределено, ТипОтчета = Неопределено, ФорматОтчета = Неопределено) ​

Сравнение расширений: файл с файлом либо файл с расширением из базы.

vrunner cfe compare --extension-name <ИмяРасширения> --second-cfe <ВторойФайл> [--first-cfe <ПервыйФайл>] [--ibconnection <СтрокаПодключения>] [--report-dir <КаталогОтчета>] [--report-type <ТипОтчета>] [--report-format <ФорматОтчета>]

ПараметрТипПо умолчаниюОписание
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
ВторойФайлСтрока—Файл .cfe, с которым сравниваем
ПервыйФайлСтрокаНеопределеноПервый файл .cfe; если не задан — расширение из базы
СтрокаПодключенияСтрокаНеопределеноБаза (нужна, если ПервыйФайл не задан)
КаталогОтчетаСтрокаНеопределеноКаталог отчёта
ТипОтчетаСтрокаНеопределеноFull или Brief
ФорматОтчетаСтрокаНеопределеноtxt или mxl

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СравнитьРасширение(
	"YAXUNIT", "build/new.cfe", "build/old.cfe"));

КонвертироватьФорматИсходниковРасширения(КаталогИсходников, КаталогРезультата) ​

Конвертация исходников расширения между форматами EDT и XML-дампом Конфигуратора.

vrunner cfe convert -s <КаталогИсходников> <КаталогРезультата>

ПараметрТипОписание
КаталогИсходниковСтрокаПроект 1С:EDT или XML-дамп Конфигуратора
КаталогРезультатаСтрокаКаталог результата в противоположном формате

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.КонвертироватьФорматИсходниковРасширения(
	"build/ext/edt", "build/ext/xml"));

epf — внешние обработки и отчёты ​

СобратьВнешниеОбработки(КаталогИсходников, КаталогРезультата = Неопределено, Рекурсивно = Ложь, ИспользоватьИбкмд = Истина) ​

Сборка внешних обработок/отчётов (.epf/.erf) из исходников.

vrunner epf compile [--ibcmd] [--recursive] [--out <КаталогРезультата>] <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрока—Каталог исходников обработки/отчёта
КаталогРезультатаСтрокаНеопределеноКаталог для собранных файлов (--out)
РекурсивноБулевоЛожьФлаг --recursive
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СобратьВнешниеОбработки(
	"build/epf/src", "build/epf/out", Истина));

РазобратьВнешниеОбработки(КаталогИсходников, КаталогРезультата = Неопределено, Рекурсивно = Ложь, ИспользоватьИбкмд = Истина) ​

Разбор внешних обработок/отчётов в исходники.

vrunner epf decompile [--ibcmd] [--recursive] [--out <КаталогРезультата>] <КаталогИсходников>

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрока—Файл .epf/.erf или каталог с ними
КаталогРезультатаСтрокаНеопределеноКаталог для разобранных исходников (--out)
РекурсивноБулевоЛожьФлаг --recursive
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.РазобратьВнешниеОбработки(
	"build/epf/out", "build/epf/src", Истина));

КонвертироватьФорматВнешнихОбработок(КаталогИсходников, КаталогРезультата) ​

Конвертация исходников внешних обработок между форматами EDT и XML-дампом.

vrunner epf convert -s <КаталогИсходников> <КаталогРезультата>

ПараметрТипОписание
КаталогИсходниковСтрокаПроект 1С:EDT или XML-дамп Конфигуратора
КаталогРезультатаСтрокаКаталог результата в противоположном формате

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.КонвертироватьФорматВнешнихОбработок(
	"build/epf/edt", "build/epf/xml"));

infobase — информационная база ​

СозданиеБазы(СтрокаПодключения, ИсточникКонфигурации = Неопределено, Расширения = Неопределено, Рекурсивно = Ложь, ИспользоватьИбкмд = Истина, КаталогВоркспейсаЕДТ = Неопределено, ФорматИсходников = Неопределено, ПутьКЕДТ = Неопределено, ВерсияЕДТ = Неопределено, ТаймаутЕДТВСек = Неопределено, ПамятьВГБ = Неопределено) ​

Создание информационной базы. Без ИсточникКонфигурации создаётся пустая файловая база; при заданных --src/--ext за один вызов создаётся база, загружается конфигурация и расширения, обновляется БД.

vrunner infobase init [--ibcmd] --ibconnection <СтрокаПодключения> [--src <ИсточникКонфигурации>] [--ext <Расширение> ...] [--recursive] [--edt-*]

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИсточникКонфигурацииСтрокаНеопределеноКаталог исходников, файл .cf (с обновлением БД) или .dt (восстановление целиком) — --src
РасширенияМассив из СтрокаНеопределеноФайлы .cfe или каталоги исходников расширений; имя расширения берётся из имени файла/каталога — повторяемая --ext
РекурсивноБулевоЛожьРекурсивный поиск источников — --recursive
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd
КаталогВоркспейсаЕДТСтрокаНеопределеноКаталог рабочей области EDT — --edt-workspace
ФорматИсходниковСтрокаНеопределеноauto, edt или xml — --src-format
ПутьКЕДТСтрокаНеопределеноПуть к 1cedtcli — --edt-path
ВерсияЕДТСтрокаНеопределеноВерсия EDT — --edt-version
ТаймаутЕДТВСекЧислоНеопределеноТаймаут 1cedtcli — --edt-timeout
ПамятьВГБЧислоНеопределеноПамять для JVM — --edt-vmargs=-Xmx<ПамятьВГБ>g

Примеры:

bsl
// Пустая файловая база
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы("/Fbuild/ib"));

// База + конфигурация + два расширения, всё из исходников, рекурсивно
Расширения = Новый Массив();
Расширения.Добавить("build/ext/МоёРасширение.cfe");
Расширения.Добавить("src-ext/Интеграция");
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы(
	"/Fbuild/ib", "build/src", Расширения, Истина));

// Исходники в EDT с явным воркспейсом
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы(
	"/Fbuild/ib", "build/edt-project", , , Истина,
	"/tmp/edt-workspace", "edt"));

ОбновитьКонфигурациюБД(СтрокаПодключения, ИспользоватьИбкмд = Истина) ​

Обновление конфигурации БД (динамическое обновление).

vrunner infobase update [--ibcmd] --ibconnection <СтрокаПодключения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюБД("/Fbuild/ib"));

ОбновитьКонфигурациюРасширенияБД(СтрокаПодключения, ИмяРасширения, ИспользоватьИбкмд = Истина) ​

Обновление конфигурации конкретного расширения в БД.

vrunner infobase update [--ibcmd] --ibconnection <СтрокаПодключения> --target <ИмяРасширения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюРасширенияБД("/Fbuild/ib", "YAXUNIT"));

ВыгрузитьБазуВДТ(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина) ​

Выгрузка базы в файл .dt.

vrunner infobase dump-dt [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ПутьКФайлуСтрока—Файл результата, например build/backup.dt
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьБазуВДТ("/Fbuild/ib", "build/backup.dt"));

ЗагрузитьБазуИзДТ(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина) ​

Восстановление базы из файла .dt.

vrunner infobase restore-dt [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ПутьКФайлуСтрока—Файл .dt, например build/backup.dt
ИспользоватьИбкмдБулевоИстинаФлаг --ibcmd

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьБазуИзДТ("/Fbuild/ib", "build/backup.dt"));

СоздатьПользователя(СтрокаПодключения, ИмяПользователя, Роли = Неопределено) ​

Создание пользователя базы с набором ролей.

vrunner infobase create-user --ibconnection <СтрокаПодключения> [--role <Роль> ...] <ИмяПользователя>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяПользователяСтрока—Имя пользователя, например Администратор
РолиМассив из СтрокаНеопределеноРоли пользователя — повторяемая опция --role

Пример:

bsl
Роли = Новый Массив();
Роли.Добавить("ПолныеПрава");
Задача.Скрипты.Добавить(Скрипты.СоздатьПользователя("/Fbuild/ib", "Администратор", Роли));

ЗаблокироватьВнешниеРесурсы(СтрокаПодключения) ​

Запрет подключения к внешним ресурсам (Интернет-сервисы, почта и т.п.).

vrunner infobase lock-resources --deny --ibconnection <СтрокаПодключения>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗаблокироватьВнешниеРесурсы("/Fbuild/ib"));

РазрешитьВнешниеРесурсы(СтрокаПодключения) ​

Разрешение подключения к внешним ресурсам.

vrunner infobase lock-resources --allow --ibconnection <СтрокаПодключения>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.РазрешитьВнешниеРесурсы("/Fbuild/ib"));

ВключитьРегламентноеЗадание(СтрокаПодключения, ИмяЗадания) ​

Включение регламентного задания по имени метаданных.

vrunner infobase scheduled-job enable --ibconnection <СтрокаПодключения> <ИмяЗадания>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib
ИмяЗаданияСтрокаИмя метаданных регламентного задания

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВключитьРегламентноеЗадание("/Fbuild/ib", "ОбновлениеИндекса"));

ВыключитьРегламентноеЗадание(СтрокаПодключения, ИмяЗадания) ​

Выключение регламентного задания по имени метаданных.

vrunner infobase scheduled-job disable --ibconnection <СтрокаПодключения> <ИмяЗадания>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib
ИмяЗаданияСтрокаИмя метаданных регламентного задания

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВыключитьРегламентноеЗадание("/Fbuild/ib", "ОбновлениеИндекса"));

СписокРасширений(СтрокаПодключения, Подробно = Ложь, ВФорматеJSON = Ложь) ​

Список расширений базы.

vrunner infobase extensions list [--verbose] [--json] --ibconnection <СтрокаПодключения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ПодробноБулевоЛожьФлаг --verbose
ВФорматеJSONБулевоЛожьФлаг --json

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СписокРасширений("/Fbuild/ib", Истина, Истина));

ПроверитьПрименимостьРасширений(СтрокаПодключения, ИмяРасширения = Неопределено) ​

Проверка применимости расширений (всех или одного).

vrunner infobase extensions check --ibconnection <СтрокаПодключения> [<ИмяРасширения>]

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяРасширенияСтрокаНеопределеноИмя расширения; если не задано — проверяются все

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ПроверитьПрименимостьРасширений("/Fbuild/ib", "YAXUNIT"));

СоздатьРасширение(СтрокаПодключения, ИмяРасширения, Пересоздать = Ложь) ​

Создание расширения в базе.

vrunner infobase extensions create [--overwrite] --ibconnection <СтрокаПодключения> <ИмяРасширения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
ПересоздатьБулевоЛожьФлаг --overwrite

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.СоздатьРасширение("/Fbuild/ib", "YAXUNIT"));

УдалитьРасширение(СтрокаПодключения, ИмяРасширения) ​

Удаление расширения из базы.

vrunner infobase extensions delete --ibconnection <СтрокаПодключения> <ИмяРасширения>

ПараметрТипОписание
СтрокаПодключенияСтрокаБаза, например /Fbuild/ib
ИмяРасширенияСтрокаИмя расширения, например YAXUNIT

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.УдалитьРасширение("/Fbuild/ib", "YAXUNIT"));

НастройкаФлаговРасширения(СтрокаПодключения, ИмяРасширения, БезопасныйРежим = Неопределено, ЗащитаОтОпасныхДействий = Неопределено, Активно = Неопределено) ​

Настройка флагов расширения: безопасный режим, защита от опасных действий, активность.

vrunner infobase extensions set-options --ibconnection <СтрокаПодключения> [--safe-mode <БезопасныйРежим>] [--unsafe-action-protection <ЗащитаОтОпасныхДействий>] [--active <Активно>] <ИмяРасширения>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ИмяРасширенияСтрока—Имя расширения, например YAXUNIT
БезопасныйРежимБулевоНеопределеноЗначение --safe-mode (true/false)
ЗащитаОтОпасныхДействийБулевоНеопределеноЗначение --unsafe-action-protection (true/false)
АктивноБулевоНеопределеноЗначение --active (true/false)

Флаги со значением Неопределено не попадают в команду — можно задать только нужные.

Пример:

bsl
// Отключить безопасный режим и защиту, оставить активным
Задача.Скрипты.Добавить(Скрипты.НастройкаФлаговРасширения(
	"/Fbuild/ib", "YAXUNIT", Ложь, Ложь));

run — запуск 1С ​

ЗапуститьКонфигуратор(СтрокаПодключения, ДополнительныеПараметры = Неопределено, НеЖдатьЗавершения = Ложь) ​

Запуск Конфигуратора в пакетном режиме.

vrunner run designer --ibconnection <СтрокаПодключения> [--additional <ДополнительныеПараметры>] [--no-wait]

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ДополнительныеПараметрыСтрокаНеопределеноДоп. параметры запуска Конфигуратора (--additional)
НеЖдатьЗавершенияБулевоЛожьФлаг --no-wait

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗапуститьКонфигуратор(
	"/Fbuild/ib", "/UpdateDBCfg"));

ОбновитьБазуВРежимеПредприятия(СтрокаПодключения, ПутьДоОбработки, ИспользоватьАвтономныйСервер = Истина) ​

Запуск Предприятия для обновления БД через внешнюю обработку (например, ЗакрытьПредприятие.epf).

vrunner run enterprise [--ibsrv] --ibconnection <СтрокаПодключения> --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute "<ПутьДоОбработки>"

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ПутьДоОбработкиСтрока—Путь к .epf, например $runnerRoot/epf/ЗакрытьПредприятие.epf
ИспользоватьАвтономныйСерверБулевоИстинаФлаг --ibsrv

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ОбновитьБазуВРежимеПредприятия(
	"/Fbuild/ib", "$runnerRoot/epf/ЗакрытьПредприятие.epf"));

test — тесты ​

ЗапускТестовИксЮнит(СтрокаПодключения, КаталогТестов, ПутьОтчета = Неопределено, ФайлКодаВозврата = Неопределено) ​

Запуск тестов xUnitFor1C (xdd).

vrunner test xunit --ibconnection <СтрокаПодключения> [--report-format junit --report-path <ПутьОтчета>] [--xddExitCodePath <ФайлКодаВозврата>] <КаталогТестов>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
КаталогТестовСтрока—Каталог или файл с тестами
ПутьОтчетаСтрокаНеопределеноПуть к JUnit-отчёту
ФайлКодаВозвратаСтрокаНеопределеноФайл статуса тестирования (--xddExitCodePath)

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовИксЮнит(
	"/Fbuild/ib", "tests/xdd", "build/report.xml", "build/status.txt"));

ЗапускТестовЯксЮнит(СтрокаПодключения, ФайлНастроекЯксЮнит = Неопределено, ПутьОтчета = Неопределено, ИспользоватьАвтономныйСервер = Истина) ​

Запуск тестов YAxUnit.

vrunner test yaxunit [--ibsrv] --ibconnection <СтрокаПодключения> [--yaxunit-config <ФайлНастроекЯксЮнит>] [--report-format junit --report-path <ПутьОтчета>]

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ФайлНастроекЯксЮнитСтрокаНеопределеноГотовый yaxunit.json (--yaxunit-config)
ПутьОтчетаСтрокаНеопределеноПуть к JUnit-отчёту
ИспользоватьАвтономныйСерверБулевоИстинаФлаг --ibsrv

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовЯксЮнит(
	"/Fbuild/ib", "yaxunit.json", "build/yaxunit-report.xml"));

ЗапускТестовВА(СтрокаПодключения, ФайлПараметровВА, ПутьОбработкиВА, КореньПроекта, ИспользоватьАвтономныйСервер = Истина) ​

Запуск тестов Vanessa-ADD (BDD).

vrunner test vanessa [--ibsrv] --ibconnection <СтрокаПодключения> --vanessasettings <ФайлПараметровВА> --bddrunner-path <ПутьОбработкиВА> --workspace <КореньПроекта>

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрока—База, например /Fbuild/ib
ФайлПараметровВАСтрока—Файл настроек Vanessa-ADD (--vanessasettings)
ПутьОбработкиВАСтрока—Путь к bddRunner.epf (--bddrunner-path)
КореньПроектаСтрока—Каталог проекта (--workspace)
ИспользоватьАвтономныйСерверБулевоИстинаФлаг --ibsrv

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовВА(
	"/Fbuild/ib", "vanessa.json", "tools/bddRunner.epf", "features"));

validate — проверки ​

ПроверкаСинтаксиса(СтрокаПодключения = Неопределено, Режимы = Неопределено, Цели = Неопределено, ПутьОтчета = Неопределено, ФайлИсключений = Неопределено, ГруппироватьПоМетаданным = Ложь) ​

Проверка синтаксиса конфигурации (в базе или по каталогу исходников).

vrunner validate syntax-check [--ibconnection <СтрокаПодключения>] [--mode <Режим> ...] [--target <Цель> ...] [--report-format junit --report-path <ПутьОтчета>] [--exception-file <ФайлИсключений>] [--groupbymetadata]

ПараметрТипПо умолчаниюОписание
СтрокаПодключенияСтрокаНеопределеноБаза, например /Fbuild/ib
РежимыМассив из СтрокаНеопределеноРежимы проверки — повторяемая опция --mode
ЦелиМассив из СтрокаНеопределеноЦели проверки — повторяемая опция --target
ПутьОтчетаСтрокаНеопределеноПуть к JUnit-отчёту
ФайлИсключенийСтрокаНеопределеноФайл исключений замечаний (--exception-file)
ГруппироватьПоМетаданнымБулевоЛожьФлаг --groupbymetadata

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ПроверкаСинтаксиса(
	"/Fbuild/ib", , , "build/syntax-report.xml"));

ВалидацияЕДТ(КаталогИсходников = Неопределено, ПутьОтчета = Неопределено, МинимальнаяВажность = Неопределено) ​

Валидация исходников через EDT (по проекту, XML-выгрузке или файлу .cf/.cfe).

vrunner validate edt [--src <КаталогИсходников>] [--report-format junit --report-path <ПутьОтчета>] [--min-severity <МинимальнаяВажность>]

ПараметрТипПо умолчаниюОписание
КаталогИсходниковСтрокаНеопределеноПроект 1С:EDT, XML-выгрузка или файл .cf/.cfe (--src)
ПутьОтчетаСтрокаНеопределеноПуть к JUnit-отчёту
МинимальнаяВажностьСтрокаНеопределеноcritical, major, minor или none (--min-severity)

Пример:

bsl
Задача.Скрипты.Добавить(Скрипты.ВалидацияЕДТ(
	"build/edt", "build/edt-report.xml", "major"));

Пример ​

bsl
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы("/Fbuild/ib"));
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьКонфигурациюИзФайлов("/Fbuild/ib", "build/src"));
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюБД("/Fbuild/ib"));
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовЯксЮнит("/Fbuild/ib", "yaxunit.json"));

СобытияПайплайна ​

Модуль-константа условий запуска джобы (when). Сахар: функции возвращают строковые значения, IDE показывает варианты при наборе.

МетодЗначениеСмысл
ПриУспехе()on_successПри успехе предыдущих (дефолт)
ПриНеудаче()on_failureТолько при падении
Всегда()alwaysВсегда, независимо от результата
РучнойЗапуск()manualПо кнопке
Никогда()neverНикогда (отключает джобу)

Пример ​

bsl
Задача.Когда = СобытияПайплайна.РучнойЗапуск();

Модуль содержит только when-константы. Константы стадий — на ОписаниеЗадачи (см. ДоВсех()/ПослеВсех()), условия повтора — в модуле УсловияПовтора.


УсловияПовтора ​

Модуль-константа условий повтора для retry.when. Полный набор допустимых значений GitLab (22 условия).

Основные ​

МетодЗначение
Всегда()always
СбойСкрипта()script_failure
СбойРаннера()runner_system_failure
СбойАПИ()api_failure
НеизвестныйСбой()unknown_failure

Прочие ​

Остальные 17 условий (полный набор из 22): ЗависаниеИлиТаймаут(), ОжиданиеРаннеров(), НетПодходящихРаннеров(), НетОбновленийПриЗапуске(), НетОбновленийПриОтмене(), ОшибкаКонфигурацииРаннера(), СбойВнешнейЗависимостиРаннера(), РаннерПрерван(), РаннерНеПоддерживается(), ПросроченнаяЗадача(), ПревышеноВремяВыполнения(), ТаймаутСервераПриЗапуске(), ТаймаутСервераПриОтмене(), ЗадачаВАрхиве(), НеВыполненыПредпосылки(), СбойПланировщика(), НарушениеЦелостностиДанных().

Допустимые() ​

Возвращает массив всех допустимых значений — используется для валидации ОписаниеПовтора.ДобавитьУсловие().

Пример ​

bsl
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());

Недопустимое условие — исключение с перечнем допустимых.


ФабрикаЗадач ​

Реестр задач пайплайна. Создаёт описания задач и накапливает их для генератора.

Получение:

bsl
Фабрика = Поделка.НайтиЖелудь("ФабрикаЗадач");

Новая() ​

Создаёт новое описание задачи, регистрирует его в реестре и возвращает.

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

Возвращаемое значение: ОписаниеЗадачи

Задачи() ​

Возвращает массив накопленных задач.

bsl
Все = Фабрика.Задачи();

Возвращаемое значение: Массив из ОписаниеЗадачи