Публичный интерфейс библиотеки 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).
Справочные методы
Допустимые()— массив всех допустимых видовФорматыПокрытия()— массив допустимых форматов покрытия
Пример
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "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 |
Пример
Задача.Таймаут = ВремяГитЛаб.ВЧасы(2);
Деплой.Окружение.АвтоОстановка = ВремяГитЛаб.ВНедели(1);ГенераторПайплайнаГитлаб
Собирает YAML пайплайна из накопленных задач и записывает в файл.
Получение:
Генератор = Поделка.НайтиЖелудь("ГенераторПайплайнаГитлаб");СформироватьПайплайн(ПутьКФайлу)
Валидирует задачи и пишет YAML пайплайна.
Генератор.СформироватьПайплайн(".gitlab-ci.yml");Параметры:
ПутьКФайлу- Строка - путь к файлу результата
Валидации, выполняемые при генерации:
| Проверка | Исключение |
|---|---|
needs ссылается на несуществующую джобу | С перечнем доступных джоб |
СтартоватьСразу + непустой Нуждается | Взаимоисключающие настройки |
Окружение заполнено без Имя | Нельзя построить валидный environment |
Окружение.Действие не из набора | С перечнем допустимых |
Окружение.ПриОстановке на несуществующую джобу | По образцу needs |
Релиз заполнен без Тег/Описание | С именем задачи |
Джоба pages без артефактов/публикации | Не опубликует ничего |
Джоба pages не в стадии deploy | Требование GitLab |
| Параллельность: заданы и число, и матрица | Взаимоисключающие |
Порядок топ-левел секций: default → stages → variables → coverage → джобы.
Пустые значения не выводятся в YAML.
Гитлаб
Модуль-помощник для работы с окружением GitLab и зарезервированными сущностями.
ПолучитьПеременнуюСредыГитлаб(Переменная)
Возвращает значение переменной среды GitLab. При локальном запуске (вне CI), если переменная не задана, возвращает её имя с префиксом $ — генерация пайплайна работает без окружения GitLab.
Версия = Гитлаб.ПолучитьПеременнуюСредыГитлаб("CI_COMMIT_TAG");
// В CI: реальное значение
// Локально: "$CI_COMMIT_TAG"ИсточникСобытияПайплайна()
Значение CI_PIPELINE_SOURCE.
ЭтоМержРеквест()
Истина, если пайплайн запущен событием мерж-реквеста.
ЗарезервированныеСтадии()
Реестр зарезервированных стадий GitLab — единственное место их перечисления в библиотеке.
Возвращаемое значение: Соответствие, ключ → значение:
| Ключ | Значение |
|---|---|
ДоВсех | .pre |
ПослеВсех | .post |
Генератор фильтрует эти стадии из stages по реестру; сахар Задача.ДоВсех()/ПослеВсех() берёт имена из него же. Новая зарезервированная стадия добавляется одной строкой в реестр.
ДействияОкружения
Модуль-константа действий для environment:action. Источник правды — именованные методы, набор Допустимые() наполняется из них.
Методы
| Метод | Значение | Смысл |
|---|---|---|
Запуск() | start | Развёртывание (дефолт) |
Подготовка() | prepare | Подготовить окружение без создания |
Остановка() | stop | Остановить окружение |
Проверка() | verify | Проверить окружение |
Доступ() | access | Только доступ |
Допустимые()
Массив всех значений — используется для валидации в генераторе.
Пример
СтопДжоба.Окружение.Действие = ДействияОкружения.Остановка();ЛокаторСтадийПайплайна
Загружает стадии пайплайна из .os-файлов каталога.
При инициализации поделки сканирует каталог (по умолчанию ./pipeline) и подключает каждый *.os-файл как сценарий. Имя файла становится именем сценария.
Настройка каталога
Каталог настраивается через &Деталька при создании (значение по умолчанию ./pipeline).
ОписаниеАртефактов
Артефакты джобы (artifacts). Доступ: Задача.Артефакты
Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
Имя | Строка | name |
Когда | Строка | when |
ВремяХранения | Строка | expire_in |
Пути | Массив из Строка | paths |
Исключить | Массив из Строка | exclude |
Неотслеживаемые | Булево | untracked |
Публичный | Булево | public |
ПоказыватьКак | Строка | expose_as |
Отчеты | Соответствие | reports |
Методы
Всегда() / ПриУспехе() / ПриНеудаче()
Сахар для поля Когда (когда выгружать артефакты): always / on_success (по умолчанию) / on_failure.
ДобавитьПуть(Путь)
Добавляет путь в артефакты.
ДобавитьИсключение(Путь)
Добавляет исключение (маску) из артефактов.
ДобавитьОтчет(Тип, Путь)
Добавляет отчёт по типу с валидацией типа. Тип берите из модуля ВидыОтчетов:
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "junit.xml");
Задача.Артефакты.ДобавитьОтчет(ВидыОтчетов.САСТ(), "gl-sast-report.json");Недопустимый вид → исключение с перечнем допустимых.
ДобавитьОтчетПокрытия(Формат, Путь)
Отчёт покрытия coverage_report с валидацией формата (cobertura/jacoco/lcov/simplecov):
Задача.Артефакты.ДобавитьОтчетПокрытия(ВидыОтчетов.Кобертура(), "coverage.xml");Пример
Артефакты = Задача.Артефакты;
Артефакты.Имя = "$CI_JOB_NAME-artifacts";
Артефакты.ВремяХранения = "1 week";
Артефакты.ДобавитьПуть("dist/");
Артефакты.ДобавитьИсключение("dist/*.tmp");
Артефакты.ДобавитьОтчет(ВидыОтчетов.Юнит(), "junit.xml");ОписаниеЗадачи
Модель джобы пайплайна. Все поля экспортные, пустые значения не попадают в YAML.
Создание — только через фабрику:
Задача = Фабрика.Новая();Поля
| Поле | Тип | 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 — после всех стадий.
Пример
Задача = Фабрика.Новая();
Задача.Наименование = "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 (по умолчанию).
Пример
Задача.Кэш.ДобавитьПуть("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 |
ДопустимыеПолитики()
Возвращает массив допустимых политик.
Пример
Задача.Образ.Имя = "docker:latest";
Задача.Образ.Всегда();ОписаниеОкружения
Деплой-окружение джобы (environment). Доступ: Задача.Окружение
Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
Имя | Строка | name |
УРЛ | Строка | url |
ПриОстановке | Строка | on_stop (имя стоп-джобы) |
Действие | Строка | action (см. модуль ДействияОкружения) |
АвтоОстановка | Строка | auto_stop_in, например 1 week |
Валидации при генерации
- Недопустимое действие → исключение с перечнем допустимых (см.
ДействияОкружения.Допустимые()) - Заполнено что-то, но
Имяпустое → исключение (url без name невалиден) ПриОстановкессылается на несуществующую джобу → исключение
Пустое окружение → ключ не выводится.
Пример (review-app паттерн)
// Джоба развёртывания
Деплой.Окружение.Имя = "review/$CI_COMMIT_REF_SLUG";
Деплой.Окружение.УРЛ = "https://$CI_ENVIRONMENT_SLUG.example.com";
Деплой.Окружение.ПриОстановке = "stop-review";
Деплой.Окружение.АвтоОстановка = "1 week";
// Стоп-джоба
Стоп.Окружение.Имя = "review/$CI_COMMIT_REF_SLUG";
Стоп.Окружение.Действие = ДействияОкружения.Остановка();ОписаниеПайплайна
Топ-левел настройки пайплайна. Получение:
ОписаниеПайплайна = Поделка.НайтиЖелудь("ОписаниеПайплайна");Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
ПередСкрипты | Массив из Строка | default.before_script |
ПослеСкрипты | Массив из Строка | default.after_script |
Переменные | Соответствие | variables |
ШаблонПокрытия | Строка | coverage |
Методы
ДобавитьПередСкрипт(Команда)
Команда глобального before_script.
ДобавитьПослеСкрипт(Команда)
Команда глобального after_script.
ДобавитьПеременную(Имя, Значение)
Глобальная переменная пайплайна (выводится в корень variables).
Пример
ОписаниеПайплайна.ДобавитьПеременную("REGISTRY", "registry.example.com");
ОписаниеПайплайна.ШаблонПокрытия = "/^Total.*?(\d+\s*)$/";
ОписаниеПайплайна.ДобавитьПередСкрипт("opm install -l");ОписаниеПараллельности
Параллельный запуск джобы (parallel). Доступ: Задача.Параллельность
Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
Количество | Число | parallel (число копий) |
Матрица | Массив из Соответствие | parallel.matrix |
Методы
ДобавитьРядМатрицы(ИмяПеременной, Значения)
Независимый ряд матрицы с одной переменной:
ОС = Новый Массив();
ОС.Добавить("ubuntu");
ОС.Добавить("windows");
Задача.Параллельность.ДобавитьРядМатрицы("OS", ОС);ДобавитьРяд(Ряд)
Ряд из соответствия — комбинации всех переменных ряда перемножаются (декартово произведение):
Ряд = Новый Соответствие();
Ряд.Вставить("OS", ОС);
Ряд.Вставить("VERSION", Версии);
Задача.Параллельность.ДобавитьРяд(Ряд);Валидация
Число и матрица взаимоисключающие — одновременное задание роняет генерацию.
Вывод
# Число
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 |
Методы
ДобавитьУсловие(Условие)
Добавляет условие повтора с валидацией. Условия берите из модуля УсловияПовтора:
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойРаннера());ДобавитьКодВыхода(Код)
Код выхода, при котором повторять:
Задача.Повтор.ДобавитьКодВыхода(42);Вывод
| Задано | YAML |
|---|---|
| Только число | retry: 2 |
| Одно условие | retry: {max: 2, when: script_failure} |
| Несколько условий | when: [...] (массив) |
| Дубли условий/кодов | Сворачиваются |
Пример
Задача.Повтор.Повторы = 2;
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());
Задача.Повтор.ДобавитьКодВыхода(42);ОписаниеРелиза
Создание релиза из джобы (release). Доступ: Задача.Релиз
Поля
| Поле | Тип | YAML-ключ | Обязательное |
|---|---|---|---|
Тег | Строка | tag_name | да |
Описание | Строка | description | да |
СообщениеТега | Строка | tag_message | нет |
Имя | Строка | name | нет |
Реф | Строка | ref | нет |
ДатаВыхода | Строка | released_at | нет |
Вехи | Массив из Строка | milestones | нет |
Ссылки | Массив из Структура | assets.links | нет |
Методы
ДобавитьВеху(Веха)
ДобавитьСсылку(Имя, УРЛ)
Ссылка на ассет релиза.
Валидация
Заполнено что-то, но пустые Тег или Описание → исключение с именем задачи. Полностью пустой релиз → ключ не выводится.
Пример
Релиз.Релиз.Тег = "$CI_COMMIT_TAG";
Релиз.Релиз.Описание = "Что нового в $CI_COMMIT_TAG";
Релиз.Релиз.Имя = "Версия $CI_COMMIT_TAG";
Релиз.Релиз.ДобавитьСсылку("Дистрибутив", "https://example.com/distr.cf");ОписаниеСервиса
Сервис-контейнер джобы (services). Создание через фабрику задачи:
Сервис = Задача.НовыйСервис();Поля
| Поле | Тип | YAML-ключ |
|---|---|---|
Имя | Строка | name |
Алиас | Строка | alias |
Переменные | Соответствие | variables |
Методы
ДобавитьКомандуЭнтрипоинт(Команда)
Добавляет команду в entrypoint.
Энтрипоинт()
Возвращает массив команд entrypoint.
ДобавитьКоманду(Команда)
Добавляет команду в command.
ПолучитьКоманду()
Возвращает массив команд command.
ДобавитьПеременную(Имя, Значение)
Переменная окружения сервиса.
Пример
База = Задача.НовыйСервис();
База.Имя = "postgres:14";
База.Алиас = "db";
База.ДобавитьПеременную("POSTGRES_PASSWORD", "secret");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→ исключение
Пример
Страницы = Фабрика.Новая();
Страницы.Наименование = "pages";
Страницы.Стадия = "deploy";
Страницы.Страницы.Публиковать("dist");
Страницы.Скрипты.Добавить("npx @11ty/eleventy --output=dist");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 |
Пример:
ТекстСкрипта = "Сообщить(""Сборка конфигурации началась"");";
Задача.Скрипты.Добавить(Скрипты.ГенерацияОСкриптЛинукс(ТекстСкрипта, "run.os"));
Задача.Скрипты.Добавить(Скрипты.ВыполнитьОСкрипт("run.os"));Сгенерирует команду:
cat << 'EOF' > run.os
Сообщить("Сборка конфигурации началась");
EOFВыполнитьОСкрипт(ИмяФайла, Параметры = Неопределено)
Запуск скрипта через oscript.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ИмяФайла | Строка | — | Путь к .os-файлу |
Параметры | Массив из Строка | Неопределено | Аргументы командной строки, соединяются пробелом |
Пример:
Параметры = Новый Массив();
Параметры.Добавить("--mode");
Параметры.Добавить("build");
Задача.Скрипты.Добавить(Скрипты.ВыполнитьОСкрипт("build/build.os", Параметры));ЛогЭхоЛинукс(ТекстСообщения = "")
Строка echo с таймстампом — для пометки этапов в логе пайплайна.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ТекстСообщения | Строка | "" | Сообщение, например "Сборка конфигурации" |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЛогЭхоЛинукс("Сборка конфигурации"));cf — конфигурация
СобратьКонфигурациюИзФайлов(КаталогИсходников, ПутьКФайлу, ИспользоватьИбкмд = Истина)
Сборка файла .cf из каталога исходников.
vrunner cf compile [--ibcmd] -s <КаталогИсходников> <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КаталогИсходников | Строка | — | Каталог исходников (XML-выгрузка или EDT-проект), например build/cf |
ПутьКФайлу | Строка | — | Путь к собираемому файлу, например build/conf.cf |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.СобратьКонфигурациюИзФайлов("build/cf", "build/conf.cf"));РазобратьКонфигурациюВИсходники(КаталогИсходников, ПутьКФайлу = Неопределено, СтрокаПодключения = Неопределено, ИспользоватьИбкмд = Истина)
Выгрузка конфигурации в исходники: из файла .cf либо из базы.
vrunner cf decompile [--ibcmd] [--cf-file <ПутьКФайлу>] [--ibconnection <СтрокаПодключения>] <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КаталогИсходников | Строка | — | Каталог для выгрузки исходников |
ПутьКФайлу | Строка | Неопределено | Файл .cf; если не задан — выгрузка из базы |
СтрокаПодключения | Строка | Неопределено | База, из которой выгружать (нужна, если не задан ПутьКФайлу) |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
// из файла
Задача.Скрипты.Добавить(Скрипты.РазобратьКонфигурациюВИсходники("build/src", "build/conf.cf"));
// из базы
Задача.Скрипты.Добавить(Скрипты.РазобратьКонфигурациюВИсходники("build/src", , "/Fbuild/ib"));ЗагрузитьКонфигурациюИзФайлов(СтрокаПодключения, КаталогИсходников, ИспользоватьИбкмд = Истина)
Загрузка конфигурации из исходников в базу (без обновления БД — используйте ОбновитьКонфигурациюБД отдельно).
vrunner cf load [--ibcmd] --ibconnection <СтрокаПодключения> <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
КаталогИсходников | Строка | — | Каталог исходников, например build/src |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьКонфигурациюИзФайлов("/Fbuild/ib", "build/src"));ВыгрузитьКонфигурациюВФайл(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина)
Выгрузка конфигурации из базы в файл .cf.
vrunner cf unload [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ПутьКФайлу | Строка | — | Файл результата, например build/conf.cf |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьКонфигурациюВФайл("/Fbuild/ib", "build/conf.cf"));СоздатьФайлПоставки(СтрокаПодключения, ПутьКФайлу)
Создание файла поставки (.cf с полной поставкой) из базы.
vrunner cf make-dist --ibconnection <СтрокаПодключения> <ПутьКФайлу>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
ПутьКФайлу | Строка | Файл результата, например build/1Cv8-dist.cf |
Пример:
Задача.Скрипты.Добавить(Скрипты.СоздатьФайлПоставки("/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ОбъединитьКонфигурацию(
"/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюНаПоддержке(
"/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.СравнитьКонфигурацию(
"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) |
Пример:
Задача.Скрипты.Добавить(Скрипты.КонвертацияЕДТВКонфигуратор("build/edt", "build/cf", 16));cfe — расширения
СобратьРасширениеИзФайлов(КаталогИсходников, ПутьКФайлу, ИмяРасширения = Неопределено, ИспользоватьИбкмд = Истина)
Сборка файла .cfe из каталога исходников расширения.
vrunner cfe compile [--ibcmd] -s <КаталогИсходников> [--extension-name <ИмяРасширения>] <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КаталогИсходников | Строка | — | Каталог исходников, например build/ext/src |
ПутьКФайлу | Строка | — | Файл результата, например build/ext.cfe |
ИмяРасширения | Строка | Неопределено | Имя расширения, например YAXUNIT |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.СобратьРасширениеИзФайлов(
"build/ext/src", "build/ext.cfe", "YAXUNIT"));РазобратьРасширениеВИсходники(ПутьКФайлу, ИмяРасширения, КаталогИсходников, ИспользоватьИбкмд = Истина)
Разбор файла .cfe в исходники.
vrunner cfe decompile [--ibcmd] --cfe-file <ПутьКФайлу> --extension-name <ИмяРасширения> <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ПутьКФайлу | Строка | — | Файл .cfe |
ИмяРасширения | Строка | — | Имя расширения, например YAXUNIT |
КаталогИсходников | Строка | — | Каталог для выгрузки исходников |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.РазобратьРасширениеВИсходники(
"build/ext.cfe", "YAXUNIT", "build/ext/src"));ЗагрузитьРасширениеИзФайлов(СтрокаПодключения, КаталогИсходников, ИмяРасширения, ИспользоватьИбкмд = Истина)
Загрузка расширения из исходников в базу.
vrunner cfe load [--ibcmd] --ibconnection <СтрокаПодключения> --extension-name <ИмяРасширения> <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
КаталогИсходников | Строка | — | Каталог исходников, например build/ext/src |
ИмяРасширения | Строка | — | Имя расширения, например YAXUNIT |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьРасширениеИзФайлов(
"/Fbuild/ib", "build/ext/src", "YAXUNIT"));ВыгрузитьРасширениеВФайл(СтрокаПодключения, ИмяРасширения, ПутьКФайлу, ИспользоватьИбкмд = Истина)
Выгрузка расширения из базы в файл .cfe.
vrunner cfe unload [--ibcmd] --ibconnection <СтрокаПодключения> --extension-name <ИмяРасширения> <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ИмяРасширения | Строка | — | Имя расширения, например YAXUNIT |
ПутьКФайлу | Строка | — | Файл результата, например build/ext.cfe |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьРасширениеВФайл("/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.СравнитьРасширение(
"YAXUNIT", "build/new.cfe", "build/old.cfe"));КонвертироватьФорматИсходниковРасширения(КаталогИсходников, КаталогРезультата)
Конвертация исходников расширения между форматами EDT и XML-дампом Конфигуратора.
vrunner cfe convert -s <КаталогИсходников> <КаталогРезультата>
| Параметр | Тип | Описание |
|---|---|---|
КаталогИсходников | Строка | Проект 1С:EDT или XML-дамп Конфигуратора |
КаталогРезультата | Строка | Каталог результата в противоположном формате |
Пример:
Задача.Скрипты.Добавить(Скрипты.КонвертироватьФорматИсходниковРасширения(
"build/ext/edt", "build/ext/xml"));epf — внешние обработки и отчёты
СобратьВнешниеОбработки(КаталогИсходников, КаталогРезультата = Неопределено, Рекурсивно = Ложь, ИспользоватьИбкмд = Истина)
Сборка внешних обработок/отчётов (.epf/.erf) из исходников.
vrunner epf compile [--ibcmd] [--recursive] [--out <КаталогРезультата>] <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КаталогИсходников | Строка | — | Каталог исходников обработки/отчёта |
КаталогРезультата | Строка | Неопределено | Каталог для собранных файлов (--out) |
Рекурсивно | Булево | Ложь | Флаг --recursive |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.СобратьВнешниеОбработки(
"build/epf/src", "build/epf/out", Истина));РазобратьВнешниеОбработки(КаталогИсходников, КаталогРезультата = Неопределено, Рекурсивно = Ложь, ИспользоватьИбкмд = Истина)
Разбор внешних обработок/отчётов в исходники.
vrunner epf decompile [--ibcmd] [--recursive] [--out <КаталогРезультата>] <КаталогИсходников>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
КаталогИсходников | Строка | — | Файл .epf/.erf или каталог с ними |
КаталогРезультата | Строка | Неопределено | Каталог для разобранных исходников (--out) |
Рекурсивно | Булево | Ложь | Флаг --recursive |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.РазобратьВнешниеОбработки(
"build/epf/out", "build/epf/src", Истина));КонвертироватьФорматВнешнихОбработок(КаталогИсходников, КаталогРезультата)
Конвертация исходников внешних обработок между форматами EDT и XML-дампом.
vrunner epf convert -s <КаталогИсходников> <КаталогРезультата>
| Параметр | Тип | Описание |
|---|---|---|
КаталогИсходников | Строка | Проект 1С:EDT или XML-дамп Конфигуратора |
КаталогРезультата | Строка | Каталог результата в противоположном формате |
Пример:
Задача.Скрипты.Добавить(Скрипты.КонвертироватьФорматВнешнихОбработок(
"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 |
Примеры:
// Пустая файловая база
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы("/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюБД("/Fbuild/ib"));ОбновитьКонфигурациюРасширенияБД(СтрокаПодключения, ИмяРасширения, ИспользоватьИбкмд = Истина)
Обновление конфигурации конкретного расширения в БД.
vrunner infobase update [--ibcmd] --ibconnection <СтрокаПодключения> --target <ИмяРасширения>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ИмяРасширения | Строка | — | Имя расширения, например YAXUNIT |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюРасширенияБД("/Fbuild/ib", "YAXUNIT"));ВыгрузитьБазуВДТ(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина)
Выгрузка базы в файл .dt.
vrunner infobase dump-dt [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ПутьКФайлу | Строка | — | Файл результата, например build/backup.dt |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВыгрузитьБазуВДТ("/Fbuild/ib", "build/backup.dt"));ЗагрузитьБазуИзДТ(СтрокаПодключения, ПутьКФайлу, ИспользоватьИбкмд = Истина)
Восстановление базы из файла .dt.
vrunner infobase restore-dt [--ibcmd] --ibconnection <СтрокаПодключения> <ПутьКФайлу>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ПутьКФайлу | Строка | — | Файл .dt, например build/backup.dt |
ИспользоватьИбкмд | Булево | Истина | Флаг --ibcmd |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьБазуИзДТ("/Fbuild/ib", "build/backup.dt"));СоздатьПользователя(СтрокаПодключения, ИмяПользователя, Роли = Неопределено)
Создание пользователя базы с набором ролей.
vrunner infobase create-user --ibconnection <СтрокаПодключения> [--role <Роль> ...] <ИмяПользователя>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ИмяПользователя | Строка | — | Имя пользователя, например Администратор |
Роли | Массив из Строка | Неопределено | Роли пользователя — повторяемая опция --role |
Пример:
Роли = Новый Массив();
Роли.Добавить("ПолныеПрава");
Задача.Скрипты.Добавить(Скрипты.СоздатьПользователя("/Fbuild/ib", "Администратор", Роли));ЗаблокироватьВнешниеРесурсы(СтрокаПодключения)
Запрет подключения к внешним ресурсам (Интернет-сервисы, почта и т.п.).
vrunner infobase lock-resources --deny --ibconnection <СтрокаПодключения>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗаблокироватьВнешниеРесурсы("/Fbuild/ib"));РазрешитьВнешниеРесурсы(СтрокаПодключения)
Разрешение подключения к внешним ресурсам.
vrunner infobase lock-resources --allow --ibconnection <СтрокаПодключения>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
Пример:
Задача.Скрипты.Добавить(Скрипты.РазрешитьВнешниеРесурсы("/Fbuild/ib"));ВключитьРегламентноеЗадание(СтрокаПодключения, ИмяЗадания)
Включение регламентного задания по имени метаданных.
vrunner infobase scheduled-job enable --ibconnection <СтрокаПодключения> <ИмяЗадания>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
ИмяЗадания | Строка | Имя метаданных регламентного задания |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВключитьРегламентноеЗадание("/Fbuild/ib", "ОбновлениеИндекса"));ВыключитьРегламентноеЗадание(СтрокаПодключения, ИмяЗадания)
Выключение регламентного задания по имени метаданных.
vrunner infobase scheduled-job disable --ibconnection <СтрокаПодключения> <ИмяЗадания>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
ИмяЗадания | Строка | Имя метаданных регламентного задания |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВыключитьРегламентноеЗадание("/Fbuild/ib", "ОбновлениеИндекса"));СписокРасширений(СтрокаПодключения, Подробно = Ложь, ВФорматеJSON = Ложь)
Список расширений базы.
vrunner infobase extensions list [--verbose] [--json] --ibconnection <СтрокаПодключения>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
Подробно | Булево | Ложь | Флаг --verbose |
ВФорматеJSON | Булево | Ложь | Флаг --json |
Пример:
Задача.Скрипты.Добавить(Скрипты.СписокРасширений("/Fbuild/ib", Истина, Истина));ПроверитьПрименимостьРасширений(СтрокаПодключения, ИмяРасширения = Неопределено)
Проверка применимости расширений (всех или одного).
vrunner infobase extensions check --ibconnection <СтрокаПодключения> [<ИмяРасширения>]
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ИмяРасширения | Строка | Неопределено | Имя расширения; если не задано — проверяются все |
Пример:
Задача.Скрипты.Добавить(Скрипты.ПроверитьПрименимостьРасширений("/Fbuild/ib", "YAXUNIT"));СоздатьРасширение(СтрокаПодключения, ИмяРасширения, Пересоздать = Ложь)
Создание расширения в базе.
vrunner infobase extensions create [--overwrite] --ibconnection <СтрокаПодключения> <ИмяРасширения>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ИмяРасширения | Строка | — | Имя расширения, например YAXUNIT |
Пересоздать | Булево | Ложь | Флаг --overwrite |
Пример:
Задача.Скрипты.Добавить(Скрипты.СоздатьРасширение("/Fbuild/ib", "YAXUNIT"));УдалитьРасширение(СтрокаПодключения, ИмяРасширения)
Удаление расширения из базы.
vrunner infobase extensions delete --ibconnection <СтрокаПодключения> <ИмяРасширения>
| Параметр | Тип | Описание |
|---|---|---|
СтрокаПодключения | Строка | База, например /Fbuild/ib |
ИмяРасширения | Строка | Имя расширения, например YAXUNIT |
Пример:
Задача.Скрипты.Добавить(Скрипты.УдалитьРасширение("/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) |
Флаги со значением Неопределено не попадают в команду — можно задать только нужные.
Пример:
// Отключить безопасный режим и защиту, оставить активным
Задача.Скрипты.Добавить(Скрипты.НастройкаФлаговРасширения(
"/Fbuild/ib", "YAXUNIT", Ложь, Ложь));run — запуск 1С
ЗапуститьКонфигуратор(СтрокаПодключения, ДополнительныеПараметры = Неопределено, НеЖдатьЗавершения = Ложь)
Запуск Конфигуратора в пакетном режиме.
vrunner run designer --ibconnection <СтрокаПодключения> [--additional <ДополнительныеПараметры>] [--no-wait]
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ДополнительныеПараметры | Строка | Неопределено | Доп. параметры запуска Конфигуратора (--additional) |
НеЖдатьЗавершения | Булево | Ложь | Флаг --no-wait |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗапуститьКонфигуратор(
"/Fbuild/ib", "/UpdateDBCfg"));ОбновитьБазуВРежимеПредприятия(СтрокаПодключения, ПутьДоОбработки, ИспользоватьАвтономныйСервер = Истина)
Запуск Предприятия для обновления БД через внешнюю обработку (например, ЗакрытьПредприятие.epf).
vrunner run enterprise [--ibsrv] --ibconnection <СтрокаПодключения> --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute "<ПутьДоОбработки>"
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
ПутьДоОбработки | Строка | — | Путь к .epf, например $runnerRoot/epf/ЗакрытьПредприятие.epf |
ИспользоватьАвтономныйСервер | Булево | Истина | Флаг --ibsrv |
Пример:
Задача.Скрипты.Добавить(Скрипты.ОбновитьБазуВРежимеПредприятия(
"/Fbuild/ib", "$runnerRoot/epf/ЗакрытьПредприятие.epf"));test — тесты
ЗапускТестовИксЮнит(СтрокаПодключения, КаталогТестов, ПутьОтчета = Неопределено, ФайлКодаВозврата = Неопределено)
Запуск тестов xUnitFor1C (xdd).
vrunner test xunit --ibconnection <СтрокаПодключения> [--report-format junit --report-path <ПутьОтчета>] [--xddExitCodePath <ФайлКодаВозврата>] <КаталогТестов>
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
СтрокаПодключения | Строка | — | База, например /Fbuild/ib |
КаталогТестов | Строка | — | Каталог или файл с тестами |
ПутьОтчета | Строка | Неопределено | Путь к JUnit-отчёту |
ФайлКодаВозврата | Строка | Неопределено | Файл статуса тестирования (--xddExitCodePath) |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовИксЮнит(
"/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовЯксЮнит(
"/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовВА(
"/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 |
Пример:
Задача.Скрипты.Добавить(Скрипты.ПроверкаСинтаксиса(
"/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) |
Пример:
Задача.Скрипты.Добавить(Скрипты.ВалидацияЕДТ(
"build/edt", "build/edt-report.xml", "major"));Пример
Задача.Скрипты.Добавить(Скрипты.СозданиеБазы("/Fbuild/ib"));
Задача.Скрипты.Добавить(Скрипты.ЗагрузитьКонфигурациюИзФайлов("/Fbuild/ib", "build/src"));
Задача.Скрипты.Добавить(Скрипты.ОбновитьКонфигурациюБД("/Fbuild/ib"));
Задача.Скрипты.Добавить(Скрипты.ЗапускТестовЯксЮнит("/Fbuild/ib", "yaxunit.json"));СобытияПайплайна
Модуль-константа условий запуска джобы (when). Сахар: функции возвращают строковые значения, IDE показывает варианты при наборе.
| Метод | Значение | Смысл |
|---|---|---|
ПриУспехе() | on_success | При успехе предыдущих (дефолт) |
ПриНеудаче() | on_failure | Только при падении |
Всегда() | always | Всегда, независимо от результата |
РучнойЗапуск() | manual | По кнопке |
Никогда() | never | Никогда (отключает джобу) |
Пример
Задача.Когда = СобытияПайплайна.РучнойЗапуск();Модуль содержит только when-константы. Константы стадий — на ОписаниеЗадачи (см. ДоВсех()/ПослеВсех()), условия повтора — в модуле УсловияПовтора.
УсловияПовтора
Модуль-константа условий повтора для retry.when. Полный набор допустимых значений GitLab (22 условия).
Основные
| Метод | Значение |
|---|---|
Всегда() | always |
СбойСкрипта() | script_failure |
СбойРаннера() | runner_system_failure |
СбойАПИ() | api_failure |
НеизвестныйСбой() | unknown_failure |
Прочие
Остальные 17 условий (полный набор из 22): ЗависаниеИлиТаймаут(), ОжиданиеРаннеров(), НетПодходящихРаннеров(), НетОбновленийПриЗапуске(), НетОбновленийПриОтмене(), ОшибкаКонфигурацииРаннера(), СбойВнешнейЗависимостиРаннера(), РаннерПрерван(), РаннерНеПоддерживается(), ПросроченнаяЗадача(), ПревышеноВремяВыполнения(), ТаймаутСервераПриЗапуске(), ТаймаутСервераПриОтмене(), ЗадачаВАрхиве(), НеВыполненыПредпосылки(), СбойПланировщика(), НарушениеЦелостностиДанных().
Допустимые()
Возвращает массив всех допустимых значений — используется для валидации ОписаниеПовтора.ДобавитьУсловие().
Пример
Задача.Повтор.ДобавитьУсловие(УсловияПовтора.СбойСкрипта());Недопустимое условие — исключение с перечнем допустимых.
ФабрикаЗадач
Реестр задач пайплайна. Создаёт описания задач и накапливает их для генератора.
Получение:
Фабрика = Поделка.НайтиЖелудь("ФабрикаЗадач");Новая()
Создаёт новое описание задачи, регистрирует его в реестре и возвращает.
Задача = Фабрика.Новая();Возвращаемое значение: ОписаниеЗадачи
Задачи()
Возвращает массив накопленных задач.
Все = Фабрика.Задачи();Возвращаемое значение: Массив из ОписаниеЗадачи
