Интеграция с ИИ-ассистентами (MCP)
vanessa-runner умеет работать как MCP-сервер (Model Context Protocol) и выставлять свои команды как инструменты для ИИ-ассистентов: Claude Code, Cursor, VS Code, Windsurf, Claude Desktop и других. Ассистент видит команды с описанием и параметрами и вызывает vrunner сам - собирает конфигурации, запускает тесты, обслуживает информационные базы.
Сервер - отдельная программа vrunner-mcp, работает по stdio. Запускает её и общается с ней сам клиент: достаточно прописать сервер в его конфигурации.
Требования
- установленный vanessa-runner (
opm install vanessa-runner) - вместе с ним ставитсяvrunner-mcp, он должен быть доступен вPATH; - установленная платформа 1С:Предприятие, как и для обычной работы vrunner.
Подключение в IDE
Во всех клиентах принцип один: добавить MCP-сервер с командой запуска vrunner-mcp. Отличается только файл и формат конфигурации. Рабочий каталог сервера - корень проекта: из него читается autumn-properties.json и относительно него разрешаются пути.
{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"servers": {
"vrunner": {
"type": "stdio",
"command": "vrunner-mcp"
}
}
}{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}- Claude Code - файл
.mcp.jsonв корне проекта (общий для команды) либоclaude mcp add vrunner -- vrunner-mcp. - Cursor -
.cursor/mcp.jsonв проекте или~/.cursor/mcp.jsonглобально. - VS Code -
.vscode/mcp.jsonв проекте (ключserversи полеtype, в отличие от остальных клиентов). - Windsurf - раздел «MCP Servers» в настройках Cascade или
~/.codeium/windsurf/mcp_config.json. - Claude Desktop -
claude_desktop_config.json(Settings → Developer).
Запуск из исходников
Если vanessa-runner используется из репозитория, укажите oscript и точку входа src/mcp.os; рабочим каталогом должен быть корень проекта:
{
"mcpServers": {
"vrunner": {
"command": "oscript",
"args": ["src/mcp.os"]
}
}
}Инструменты
После перезапуска клиента в списке инструментов появляются команды vrunner. Имя инструмента - группа и подкоманда через _, дефисы заменены на _: cf_compile, cf_make_dist, infobase_init, test_yaxunit, validate_syntax_check. У подкоманд третьего уровня в имя входят только два последних звена: extensions_list, scheduled_job_disable, session_kill, jobs_lock. Параметры инструмента - опции и аргументы команды под теми же именами, поведение совпадает с запуском в терминале.
Не выставляются интерактивные команды run enterprise и run designer.
Кроме команд, сервер даёт служебные инструменты:
| Инструмент | Назначение |
|---|---|
task_status, task_result, task_cancel | состояние, лог и результат фоновой задачи по taskId, её отмена |
cache_show, cache_clear | просмотр и сброс сессионного кэша опций (cache_clear принимает option - имя одной опции) |
Попросите ассистента, например: «собери конфигурацию из src в build/1cv8.cf» - он подберёт cf_compile и подставит параметры.
Общие параметры запоминаются
Переданные в вызове опции (строка подключения, версия платформы, параметры СУБД и т.п.) запоминаются на сессию по имени и подставляются во все последующие команды, где есть такая же опция, пока не заданы заново. Позиционные аргументы не запоминаются. Параметр nocache: true у вызова отключает кэш для этого вызова - для независимых или параллельных запусков.
Длительные команды
Долгие команды - сборка и загрузка конфигураций, инициализация и обновление ИБ, тесты, проверки, операции с хранилищем - выполняются в фоне: инструмент сразу возвращает taskId, а ход и результат ассистент забирает через task_status / task_result (лог доступен и пока задача идёт) и может отменить через task_cancel. Параметр background: false выполняет такую команду синхронно с потоковым логом. Остальные команды выполняются синхронно, лог передаётся клиенту по мере выполнения.
Отладка вызова
У каждого инструмента есть параметр debug. При debug: true команда выполняется синхронно с уровнем логирования «Отладка», и собранный лог возвращается в ответе - удобно, когда обычного результата недостаточно для диагностики.
Безопасность
Сервер только выставляет команды и не даёт новых прав: поведение совпадает с ручным запуском vrunner от того же пользователя. Разрушающие операции (загрузка в ИБ, операции с хранилищем и кластером) тоже доступны ассистенту; в описании инструментов они помечены подсказками протокола (destructiveHint, readOnlyHint), по которым клиент решает, спрашивать ли подтверждение. Большинство клиентов по умолчанию запрашивают подтверждение перед каждым вызовом, пока инструмент не внесён в список разрешённых.
Обновление vanessa-runner при запущенном MCP-сервере на Windows завершается ошибкой - см. Установка.
Общие опции
Наборы опций, которые повторяются у многих команд, описаны здесь один раз. На странице команды под таблицей её собственных опций перечислены наборы, которые у неё есть, со ссылками на разделы этой страницы.
Подключение к информационной базе
| Опция | Переменная окружения | Описание |
|---|---|---|
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения: /F<путь> - файловая ИБ, /S<сервер>\<база> - серверная |
--db-user | VRUNNER_DBUSER | Пользователь информационной базы (не ОС и не СУБД) |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
Примеры: --ibconnection /F./ib, --ibconnection /FD:/bases/MyProject, --ibconnection "/SMyServer\MyInfobase". Если база не требует аутентификации, --db-user и --db-pwd можно не указывать.
Когда база необязательна
| Команды | Поведение без --ibconnection |
|---|---|
cf compile, cf decompile, cfe compile, cfe decompile, epf compile, epf decompile; cf compare, cfe compare при сравнении двух файлов | Создаётся временная файловая ИБ, после операции удаляется |
infobase init | Создаётся файловая ИБ build/ib (не удаляется) |
infobase update, infobase create-user, infobase lock-resources, infobase extensions *, infobase scheduled-job *, cfe load, cfe unload | Используется файловая ИБ build/ib - та, которую создаёт infobase init |
| Остальные команды | База обязательна: укажите --ibconnection |
Конфигуратор или ibcmd
| Опция | Переменная окружения | Описание |
|---|---|---|
--ibcmd | - | Использовать утилиту ibcmd вместо Конфигуратора |
По умолчанию операции с конфигурацией выполняет Конфигуратор (1cv8 DESIGNER). ibcmd работает с базой напрямую, без запуска клиента и кластера серверов. Опция есть только у команд, которые умеют работать обоими способами.
| Конфигуратор | ibcmd | |
|---|---|---|
| Кластер серверов для серверной ИБ | Нужен | Не нужен |
| Опции СУБД для серверной ИБ | Не нужны | Нужны |
--rtype, --dynamic | Поддерживаются | Игнорируются |
Опции СУБД
| Опция | Переменная окружения | Описание |
|---|---|---|
--dbms-type | VRUNNER_DBMS_TYPE | Тип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase |
--dbms-server | VRUNNER_DBMS_SERVER | Адрес сервера СУБД |
--dbms-base | VRUNNER_DBMS_BASE | Имя базы данных СУБД |
--dbms-user | VRUNNER_DBMS_USER | Пользователь СУБД |
--dbms-pwd | VRUNNER_DBMS_PWD | Пароль СУБД |
Нужны в одном случае: --ibcmd + серверная ИБ - ibcmd подключается к СУБД напрямую, минуя сервер 1С. Опции применяются только при заданном --dbms-type. Для файловых баз и при работе через Конфигуратор не нужны.
Платформа
| Опция | Переменная окружения | Описание |
|---|---|---|
--v8version | VRUNNER_V8VERSION | Версия платформы 1С (по умолчанию - старшая установленная) |
--uccode | VRUNNER_UCCODE | Код разрешения для входа в заблокированную базу (/UC) |
--language | VRUNNER_LANGUAGE | Язык интерфейса платформы (/L) |
--locale | VRUNNER_LOCALE | Язык сеанса, локаль (/VL) |
Обновление конфигурации БД
Есть у команд, которые после загрузки обновляют конфигурацию базы данных: cf load, cfe load, cf vendor-update, infobase update. Действуют только при работе через Конфигуратор; ibcmd выполняет config apply без этих ключей.
| Опция | Переменная окружения | Описание |
|---|---|---|
--rtype | - | Режим реструктуризации: v1 (обычный) или v2 (оптимизированный) |
--dynamic | - | Разрешить динамическое обновление (-Dynamic+); без флага - -Dynamic- |
Формат исходников
| Опция | Переменная окружения | Описание |
|---|---|---|
--src-format | - | Формат каталога исходников: auto (по умолчанию), edt, xml |
При auto формат определяется по маркерам каталога: для ввода - что лежит в каталоге, для вывода - формат существующего целевого каталога (несуществующий или пустой - XML). Вместе с набором подключаются опции --edt-*. Подробнее: Исходники в формате 1С:EDT.
Запуск клиента
Есть у run enterprise и test *.
| Опция | Переменная окружения | Описание |
|---|---|---|
--ordinaryapp | VRUNNER_ORDINARYAPP | Запускать толстый клиент (/RunModeOrdinaryApplication); без ключа - тонкий |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры командной строки 1С:Предприятия |
--ibsrv | VRUNNER_IBSRV | Запустить клиент через автономный сервер ibsrv (только файловые ИБ; с --no-wait игнорируется) |
--ibsrv-direct | VRUNNER_IBSRV_DIRECT | Подключаться к ibsrv прямым соединением (/S) вместо веб-сервиса (/WS) |
--ibsrv-debug | VRUNNER_IBSRV_DEBUG | Включить порт отладки на запущенном ibsrv |
--ibsrv-attach | VRUNNER_IBSRV_ATTACH | Не запускать свой ibsrv, а подключиться к уже работающему на localhost:<--ibsrv-port>; по завершении сервер не останавливается |
--ibsrv-port | VRUNNER_IBSRV_PORT | Порт ibsrv: при --ibsrv-attach - порт подключения (обязателен), иначе - порт запуска (занят - ошибка). Без опции порт подбирается автоматически |
Кластер серверов
Есть у команд cluster *, которые адресуют базу не строкой подключения, а именем в кластере.
| Опция | Переменная окружения | Описание |
|---|---|---|
--ras | VRUNNER_RAS | Адрес сервера администрирования RAS (по умолчанию localhost:1545) |
--rac | VRUNNER_RAC | Путь к утилите rac |
--db-name | VRUNNER_IBNAME | Имя информационной базы в кластере |
--cluster | - | Идентификатор кластера |
--cluster-name | - | Имя кластера |
--cluster-admin | VRUNNER_CLUSTERADMIN_USER | Администратор кластера |
--cluster-pwd | VRUNNER_CLUSTERADMIN_PWD | Пароль администратора кластера |
--db-user | VRUNNER_DBUSER | Пользователь информационной базы |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
Если ни --cluster, ни --cluster-name не заданы, берётся первый кластер сервера.
Хранилище конфигурации
| Опция | Переменная окружения | Описание |
|---|---|---|
--storage-name | VRUNNER_STORAGE_NAME | Адрес хранилища: каталог или tcp://сервер/имя |
--storage-user | VRUNNER_STORAGE_USER | Пользователь хранилища |
--storage-pwd | VRUNNER_STORAGE_PWD | Пароль пользователя хранилища |
--storage-ver | VRUNNER_STORAGE_VER | Номер версии хранилища |
Файл настроек
| Опция | Переменная окружения | Описание |
|---|---|---|
--settings | VRUNNER_SETTINGS | Путь к дополнительному файлу настроек (JSON), накладывается поверх autumn-properties.json |
Подробнее: Файл настроек.
Примеры
# Файловая ИБ через Конфигуратор
vrunner cf load --ibconnection /F./ib --db-user Admin --db-pwd secret ./src
# Серверная ИБ через ibcmd: нужны опции СУБД
vrunner cf load \
--ibcmd \
--ibconnection "/SMyServer\MyIB" \
--dbms-type PostgreSQL \
--dbms-server db.example.com \
--dbms-base my_db \
--dbms-user postgres \
--dbms-pwd db_password \
./src
# Без базы: сборка cf во временной ИБ
vrunner cf compile --ibcmd -s ./src ./build/App.cf
# Тесты толстым клиентом через ibsrv
vrunner test xunit --ibconnection /F./ib --ordinaryapp --ibsrv ./testsИсходники в формате 1С:EDT
Команды, работающие с каталогом исходников, понимают два формата:
- XML-дамп Конфигуратора - выгрузка платформы (
Configuration.xmlв корне); - 1С:EDT - проект EDT (
.project, каталогsrc/с файлами*.mdo).
Платформа читает только XML, поэтому проект EDT экспортируется утилитой 1cedtcli (поставляется с 1С:EDT) во временный XML-каталог, а результат обычных операций при выгрузке в EDT импортируется ею обратно.
Поддержка по командам
| Команда | Ввод EDT | Вывод EDT |
|---|---|---|
cf compile, cf load, infobase init | да | - |
cf decompile | - | да |
cfe compile, cfe load | да | - |
cfe decompile | - | да |
epf compile | да | - |
epf decompile | - | да |
cf convert, cfe convert, epf convert | да | да |
validate edt | да | - |
Опции
--src-format входит в набор «Формат исходников», опции --edt-* подключаются вместе с ним; у команд convert есть только --edt-*.
| Опция | Переменная окружения | Описание |
|---|---|---|
--src-format | - | Формат каталога: auto (по умолчанию), edt, xml |
--edt-path | VRUNNER_EDT_PATH | Путь к 1cedtcli (исполняемый файл или каталог установки EDT). Если задан, поиск не выполняется |
--edt-version | VRUNNER_EDT_VERSION | Версия установленной EDT (например 2024.1) для выбора среди нескольких. Не связана с --v8version |
--edt-workspace | VRUNNER_EDT_WORKSPACE | Базовый каталог рабочей области EDT (по умолчанию - временный) |
--edt-timeout | VRUNNER_EDT_TIMEOUT | Таймаут операций 1cedtcli в секундах. По умолчанию 1cedtcli использует свой (60 минут) |
--edt-vmargs | VRUNNER_EDT_VMARGS | JVM-аргумент для 1cedtcli, можно указать несколько раз. Значение с ведущим дефисом - через =: --edt-vmargs=-Xmx8g |
Определение формата
При --src-format auto формат определяется по маркерам каталога:
- EDT - есть
.projectи исходникиsrc/*.mdo(или служебный каталогDT-INF); - XML - есть
Configuration.xmlилиConfigDumpInfo.xml; - ровно один вложенный EDT-проект - используется он; несколько - ошибка;
- иначе каталог считается XML.
Для выгрузки (decompile) формат auto определяется по существующему целевому каталогу; несуществующий или пустой каталог - XML. --src-format edt|xml отключает автоопределение.
Поиск 1cedtcli
--edt-path(VRUNNER_EDT_PATH) - используется как есть;- при заданной
--edt-version- установленная EDT этой версии (библиотека edtfind); если не найдена - предупреждение и переход к следующему шагу; 1cedtcliвPATH;- старшая установленная EDT - только если версия не задана.
Если ничего не найдено, команда завершается ошибкой.
Инкрементальная загрузка из EDT
1cedtcli умеет только полный экспорт, поэтому при cf load --increment и cfe load --increment для EDT-исходников изменения определяются по самому каталогу EDT-проекта: экспорт в XML выполняется полностью, а в базу выборочно грузятся только объекты, чьи файлы под src/ изменились. Полная загрузка выполняется при первом запуске (индекса ещё нет), при добавлении или удалении файлов под src/ и при изменении корня конфигурации или расширения (src/Configuration). Если изменений нет, загрузка пропускается.
Примеры
# Сборка cf из EDT-проекта (формат определится автоматически)
vrunner cf compile -s ./edt-project ./build/App.cf
# Форсировать формат и выбрать версию EDT
vrunner cf compile -s ./edt-project --src-format edt --edt-version 2024.1 ./build/App.cf
# Разобрать cf в EDT-проект
vrunner cf decompile --cf-file ./build/App.cf --src-format edt ./edt-out
# Инкрементальная загрузка из EDT-проекта
vrunner cf load --ibconnection /F./ib --increment ./edt-project
# Большая конфигурация: таймаут 90 минут и больше памяти для JVM
vrunner cf convert -s ./edt-erp --edt-timeout 5400 --edt-vmargs=-Xmx8g ./build/xmlОтчёты о результатах
Команды, которые проверяют или прогоняют тесты (validate syntax-check, validate edt, test xunit, test yaxunit, test vanessa), выгружают результат одной парой опций:
| Опция | Переменная окружения | Описание |
|---|---|---|
--report-format | - | Формат отчёта; можно указать несколько раз. Список форматов зависит от команды |
--report-path | VRUNNER_REPORT_PATH | Куда выгрузить отчёт: файл - если формат один, каталог - если форматов несколько |
Если не задана ни одна из них, отчёт не формируется (кроме test yaxunit, где отчёт всегда пишется во временный файл ради сводки в консоли). Если задан только --report-path, подставляется формат по умолчанию - у всех команд junit.
Как разрешается путь
Один формат - --report-path берётся как есть: для junit это файл, для allure - каталог.
vrunner validate syntax-check --report-format junit --report-path ./build/syntax.xmlНесколько форматов - --report-path становится каталогом, имена внутри него берутся по соглашению (см. таблицу ниже):
vrunner validate syntax-check \
--report-format junit \
--report-format allure \
--report-path ./build/reports
# → ./build/reports/junit.xml
# → ./build/reports/allure/Недостающие каталоги создаются до начала проверки.
Форматы по командам
| Команда | Форматы | Несколько за прогон | Имя внутри каталога |
|---|---|---|---|
validate syntax-check | junit, allure | да | junit.xml, allure/ |
validate edt | junit, allure, edt | да | junit.xml, allure/, edt-validate.tsv |
test xunit | junit, allure, json, mxl, genericexecution или имя генератора Vanessa-ADD | да | junit.xml, allure/, report.json, report.mxl, generic.xml; для генератора - его имя |
test yaxunit | junit, json, allure | нет, ровно один | - |
test vanessa | junit, allure, cucumberjson | да | junit/, allure/, cucumber/ |
Регистр значений не важен (junit, jUnit, JUNIT). Исключение - имена генераторов Vanessa-ADD в test xunit: они регистрозависимы и передаются как написаны.
Особенности команд
validate edt: форматedt- сырой файл результатов1cedtcli validate(текст, по замечанию на строку, поля через табуляцию); его понимает, например, edt-ripper. Форматыjunitиallureформирует сам vrunner.test yaxunit: отчёт пишет YAxUnit, у него один формат за прогон - два--report-formatдают ошибку.test xunit: кроме перечисленных алиасов принимается полное имя генератора Vanessa-ADD, в том числе генератора-плагина (ГенераторОтчетаJUnitXML,GenerateReportJUnitXML). Разные пути для каждого генератора задаёт только устаревшая--reportsxunit.test vanessa: уbddRunner.epfнет ключей запуска для отчётов, поэтому vrunner накладывает каталоги отчётов на файл из--vanessasettingsи передаёт в 1С временную копию; опции командной строки перекрывают одноимённые настройки. Путь уtest vanessaвсегда каталог.- Allure: каталог результатов не очищается - Allure собирает отчёт из нескольких прогонов. Нужен чистый каталог - чистите средствами сборки (у
test xunitесть флаг--clear-reports).
Устаревшие опции
Продолжают работать; для большинства в лог выводится предупреждение с заменой.
| Устаревшая опция | Команда | Замена |
|---|---|---|
--junitpath <файл> | validate syntax-check, validate edt | --report-format junit --report-path <файл> |
--allure-results <каталог> | validate syntax-check, validate edt | --report-format allure --report-path <каталог> |
--reportsxunit "junit{путь}" | test xunit | --report-format junit --report-path <путь> |
--reportxunit <каталог> | test xunit | --report-format junit --report-path <каталог> |
--report <путь> | test yaxunit | --report-path <путь> |
--report <файл> | validate edt | --report-format edt --report-path <файл> |
Старые и новые опции складываются; при совпадении формата побеждает --report-format/--report-path.
Сбор покрытия тестами настраивается отдельно: Сбор покрытия тестами.
cf - Операции с конфигурацией
Сборка конфигурации из исходников и разборка в исходники, загрузка в базу и выгрузка, объединение, обновление на поддержке, сравнение, файл поставки, конвертация между форматами XML и 1С:EDT.
vrunner cf <подкоманда> [опции] [аргументы]Каталог исходников везде может быть как XML-дампом Конфигуратора, так и проектом 1С:EDT - формат определяется автоматически, см. Исходники в формате 1С:EDT. Общие опции описаны на странице Общие опции.
compile
Собирает конфигурацию из исходников в файл .cf. Без --ibconnection используется временная ИБ.
vrunner cf compile [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | VRUNNER_CF_OUT | Путь к создаваемому файлу .cf (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог исходников (по умолчанию - текущий) |
--list | - | Файл со списком файлов для выборочной загрузки (по одному пути на строку) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, --settings.
# Сборка через ibcmd во временной базе
vrunner cf compile --ibcmd -s ./src ./build/MyApp.cf
# Сборка через Конфигуратор в указанной базе
vrunner cf compile -s ./src --ibconnection /FD:/bases/MyProject --v8version 8.3.24 ./build/MyApp.cfdecompile
Разбирает конфигурацию в исходники: из файла .cf (он загружается во временную или указанную ИБ) либо напрямую из базы, если --cf-file не задан. Без --cf-file и без --ibconnection команда завершается ошибкой.
vrunner cf decompile [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Каталог для выгрузки исходников (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--cf-file | VRUNNER_CF_FILE | Путь к файлу .cf. Если не задан - исходники выгружаются из базы --ibconnection |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, --settings.
# Разобрать cf в XML-исходники
vrunner cf decompile --ibcmd --cf-file ./build/MyApp.cf ./src
# Выгрузить исходники из существующей базы в формате EDT
vrunner cf decompile --ibconnection /FD:/bases/work --src-format edt ./edt-projectload
Загружает конфигурацию в базу из каталога исходников или файла .cf (источник с расширением .cf считается файлом, иначе - каталогом). После загрузки конфигурация БД обновляется (UpdateDBCfg / config apply); флаг --no-update-db отключает обновление.
vrunner cf load [опции] [SRC]| Аргумент | Переменная окружения | Описание |
|---|---|---|
SRC | - | Каталог исходников или файл .cf (по умолчанию - текущий каталог; в файле настроек - ключ src) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--list | - | Файл со списком файлов для выборочной загрузки (только для каталога исходников) |
--increment | - | Инкрементальная загрузка: грузятся только файлы, изменённые с прошлого запуска (только для каталога исходников) |
--no-update-db | - | Не обновлять конфигурацию БД после загрузки |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, обновление БД, формат исходников, --settings.
--increment ведёт индекс изменений каталога исходников (по умолчанию в <temp>/vanessa-runner/cache, настройка increment.cache-dir). Первый запуск, удаление файлов и изменения, требующие полной загрузки, выполняются полной загрузкой; если изменений нет, загрузка пропускается. Особенности для EDT-исходников: Инкрементальная загрузка из EDT.
# Загрузить исходники и обновить конфигурацию БД
vrunner cf load --ibconnection /F./ib ./src
# Загрузить cf-файл без обновления конфигурации БД
vrunner cf load --ibconnection /F./ib --no-update-db ./build/MyApp.cf
# Инкрементальная загрузка через ibcmd
vrunner cf load --ibcmd --ibconnection /F./ib --increment ./srcunload
Выгружает конфигурацию базы в файл .cf.
vrunner cf unload [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Путь к создаваемому файлу .cf (обязателен; в файле настроек - ключ out) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, --settings.
vrunner cf unload --ibconnection /F./ib ./backup/MyApp.cfmake-dist
Создаёт полный файл поставки из конфигурации базы (/CreateDistributionFiles). Только Конфигуратор; --ibconnection обязательна.
vrunner cf make-dist [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Путь к файлу поставки .cf (обязателен; в файле настроек - ключ out) |
Общие опции: подключение к ИБ, платформа, СУБД, --settings.
vrunner cf make-dist --ibconnection /F./ib ./build/1Cv8-dist.cfmerge
Объединяет конфигурацию базы с файлом .cf по файлу настроек объединения (/MergeCfg). Только Конфигуратор; --ibconnection обязательна.
vrunner cf merge [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | - | Файл .cf для объединения (обязательна) |
--merge-settings | - | Файл настроек объединения (обязательна) |
--enable-support | - | Поставить конфигурацию на поддержку |
--disable-support | - | Снять конфигурацию с поддержки |
--IncludeObjectsByUnresolvedRefs | - | Включить в объединение объекты с неразрешёнными ссылками |
--ClearUnresolvedRefs | - | Очищать неразрешённые ссылки |
--force | - | Объединять при наличии предупреждений |
Общие опции: подключение к ИБ, платформа, СУБД, --settings.
# Первичная постановка на поддержку дистрибутивом поставщика
vrunner cf merge -s ./vendor/BSP.cf --merge-settings ./merge-settings.xml --enable-support --ibconnection /F./ibvendor-update
Обновляет конфигурацию, находящуюся на поддержке, файлом обновления .cfu или полным дистрибутивом .cf поставщика (/UpdateCfg) с сохранением доработок по правилам поддержки. После обновления конфигурация БД обновляется (UpdateDBCfg); флаг --no-update-db отключает обновление. Только Конфигуратор; --ibconnection обязательна.
Конфигурация базы должна уже быть на поддержке, а файл - содержать другую версию поставщика, иначе Конфигуратор откажет с ошибкой «Файл не содержит доступных обновлений». Первичная постановка на поддержку - cf merge --enable-support.
vrunner cf vendor-update [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | - | Файл .cfu или .cf поставщика (обязательна). В имени файла допустим шаблон $version: из подходящих файлов берётся старшая версия |
--update-settings | - | Файл настроек объединения |
--IncludeObjectsByUnresolvedRefs | - | Включить в объединение объекты с неразрешёнными ссылками |
--ClearUnresolvedRefs | - | Очищать неразрешённые ссылки |
--DumpListOfTwiceChangedProperties | - | Вывести список дважды изменённых свойств в файл служебных сообщений |
--force | - | Обновлять при наличии предупреждений |
--no-update-db | - | Не обновлять конфигурацию БД после обновления |
Общие опции: подключение к ИБ, платформа, СУБД, обновление БД, --settings.
# Обновить файлом поставщика
vrunner cf vendor-update -s ./updates/1cv8.cfu --ibconnection /F./ib --force
# Шаблон $version: из 1cv8_8.3.24.100.cfu и 1cv8_8.3.25.50.cfu будет выбран 1cv8_8.3.25.50.cfu
vrunner cf vendor-update -s './updates/1cv8_$version.cfu' --ibconnection /F./ib --forcecompare
Сравнивает два файла .cf или файл .cf с конфигурацией базы и сохраняет отчёт compare_report_<тип>_<дата_время>.<формат> в каталог --report-dir. Только Конфигуратор. Без --first-cf сравнивается конфигурация базы - --ibconnection обязательна; при сравнении двух файлов без --ibconnection используется временная ИБ.
vrunner cf compare [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--second-cf | - | Второй файл .cf - с чем сравниваем (обязательна) |
--first-cf | - | Первый файл .cf; если не задан - конфигурация базы |
--report-dir | - | Каталог отчёта (по умолчанию - текущий) |
--report-type | - | Full (по умолчанию) или Brief |
--report-format | - | txt (по умолчанию) или mxl |
Общие опции: подключение к ИБ, платформа, СУБД, --settings.
# Сравнить два файла
vrunner cf compare --first-cf ./old/App.cf --second-cf ./new/App.cf --report-dir ./reports
# Сравнить конфигурацию базы с файлом, краткий отчёт
vrunner cf compare --second-cf ./vendor/BSP.cf --ibconnection /F./ib --report-type Briefconvert
Конвертирует каталог исходников между форматами 1С:EDT и XML-дампа Конфигуратора утилитой 1cedtcli. Формат источника определяется автоматически, результат пишется в противоположном формате. Если в каталоге нет маркеров ни одного формата или найдено несколько вложенных EDT-проектов - ошибка.
vrunner cf convert [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Каталог результата (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог исходников (по умолчанию - текущий) |
Общие опции: EDT, --settings.
# EDT-проект → XML-дамп
vrunner cf convert -s ./edt-project ./build/xml
# XML-дамп → EDT-проект, увеличенный таймаут 1cedtcli
vrunner cf convert -s ./build/xml --edt-timeout 5400 ./edt-projectcfe - Операции с расширениями
Сборка расширения из исходников в .cfe и разборка в исходники, загрузка в базу и выгрузка, сравнение, конвертация между форматами XML и 1С:EDT.
vrunner cfe <подкоманда> [опции] [аргументы]Каталог исходников может быть как XML-дампом Конфигуратора, так и проектом 1С:EDT - формат определяется автоматически, см. Исходники в формате 1С:EDT. Общие опции описаны на странице Общие опции.
Имя расширения - одно слово из букв, цифр и _, начинается с буквы или _. Проверка применимости установленных расширений и изменение их параметров - команды infobase extensions check и set-options.
compile
Собирает расширение из исходников в файл .cfe. Без --ibconnection используется временная ИБ.
vrunner cfe compile [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | VRUNNER_CFE_OUT | Путь к создаваемому файлу .cfe (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог исходников расширения (по умолчанию - текущий) |
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения (по умолчанию - имя каталога исходников) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, --settings.
# Имя расширения задано явно
vrunner cfe compile --ibcmd -s ./extensions/MyExtension/src --extension-name MyExtension ./build/MyExtension.cfe
# Имя расширения - из имени каталога (MyExtension)
vrunner cfe compile -s ./extensions/MyExtension ./build/MyExtension.cfedecompile
Разбирает расширение в исходники: из файла .cfe (он загружается во временную или указанную ИБ) либо напрямую из базы, если --cfe-file не задан - тогда расширение с именем --extension-name должно быть установлено в базе. Без --cfe-file и без --ibconnection команда завершается ошибкой.
vrunner cfe decompile [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Каталог для выгрузки исходников (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--cfe-file | VRUNNER_CFE_FILE | Путь к файлу .cfe. Если не задан - исходники выгружаются из базы --ibconnection |
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения (обязательна) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, --settings.
# Разобрать cfe в XML-исходники
vrunner cfe decompile --ibcmd --cfe-file ./build/MyExtension.cfe --extension-name MyExtension ./extensions/MyExtension/src
# Выгрузить исходники установленного расширения из базы
vrunner cfe decompile --extension-name MyExtension --ibconnection /FD:/bases/work ./extensions/MyExtension/srcload
Загружает расширение в базу из каталога исходников или файла .cfe (источник с расширением .cfe считается файлом, иначе - каталогом) напрямую движком - без сборки .cfe во временной базе, поэтому работает и для расширений, которые компилируются только поверх основной конфигурации. Без --ibconnection используется файловая ИБ build/ib.
После загрузки конфигурация БД расширения обновляется (UpdateDBCfg / config apply), затем применяются свойства расширения. Флаг --no-update-db отключает обновление; свойства при этом не изменяются.
vrunner cfe load [опции] [SRC]| Аргумент | Переменная окружения | Описание |
|---|---|---|
SRC | - | Каталог исходников или файл .cfe (по умолчанию - текущий каталог; в файле настроек - ключ src) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения в базе (по умолчанию - имя каталога или файла источника) |
--safe-mode | - | Включить безопасный режим |
--active | - | Сделать расширение активным |
--unsafe-action-protection | - | Включить защиту от опасных действий |
--used-in-rib | - | Используется в РИБ (только --ibcmd) |
--scope-infobase | - | Область действия - информационная база, а не разделитель данных (только --ibcmd) |
--increment | - | Инкрементальная загрузка: грузятся только файлы, изменённые с прошлого запуска (только для каталога исходников) |
--no-update-db | - | Не обновлять конфигурацию БД после загрузки |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, обновление БД, формат исходников, --settings.
--increment ведёт индекс изменений каталога исходников так же, как cf load; для EDT-исходников - см. Инкрементальная загрузка из EDT.
Свойства расширения устанавливаются по-разному:
- Конфигуратор - обработкой в 1С:Предприятии при каждой загрузке: безопасный режим и защита от опасных действий выключены, если флаги не переданы; активность меняется только при
--active.--used-in-ribи--scope-infobaseне поддерживаются (предупреждение). - ibcmd - средствами
ibcmd, только если передан хотя бы один флаг свойств; не переданные свойства получают значения по умолчанию (активно, без безопасного режима и защиты, не в РИБ, область - ИБ).
# Загрузить из исходников через ibcmd
vrunner cfe load --ibcmd --ibconnection /F./ib --extension-name MyExtension ./extensions/MyExtension/src
# Загрузить cfe-файл с безопасным режимом
vrunner cfe load --ibconnection /F./ib --safe-mode ./MyExtension.cfeunload
Выгружает расширение из базы в файл .cfe. Без --ibconnection используется файловая ИБ build/ib.
vrunner cfe unload [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Путь к создаваемому файлу .cfe (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения в базе (обязательна) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, --settings.
vrunner cfe unload --ibconnection /F./ib --extension-name MyExtension ./backup/MyExtension.cfecompare
Сравнивает два файла .cfe или файл .cfe с расширением в базе и сохраняет отчёт compare_report_<тип>_<дата_время>.<формат> в каталог --report-dir. Только Конфигуратор. Без --first-cfe сравнивается расширение из базы - --ibconnection обязательна; при сравнении двух файлов без --ibconnection используется временная ИБ.
vrunner cfe compare [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--extension-name | - | Имя расширения (обязательна) |
--second-cfe | - | Второй файл .cfe - с чем сравниваем (обязательна) |
--first-cfe | - | Первый файл .cfe; если не задан - расширение из базы |
--report-dir | - | Каталог отчёта (по умолчанию - текущий) |
--report-type | - | Full (по умолчанию) или Brief |
--report-format | - | txt (по умолчанию) или mxl |
Общие опции: подключение к ИБ, платформа, СУБД, --settings.
vrunner cfe compare --extension-name MyExtension --first-cfe ./old/MyExtension.cfe --second-cfe ./new/MyExtension.cfe --report-dir ./reportsconvert
Конвертирует каталог исходников расширения между форматами 1С:EDT и XML-дампа Конфигуратора утилитой 1cedtcli. Формат источника определяется автоматически, результат пишется в противоположном формате. Если в каталоге нет маркеров ни одного формата или найдено несколько вложенных EDT-проектов - ошибка.
vrunner cfe convert [опции] <OUT>| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Каталог результата (обязателен; в файле настроек - ключ out) |
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог исходников (по умолчанию - текущий) |
Общие опции: EDT, --settings.
# EDT-проект расширения → XML-дамп
vrunner cfe convert -s ./edt-extension ./build/xml
# XML-дамп → EDT-проект
vrunner cfe convert -s ./build/xml ./edt-extensionepf - Операции с внешними обработками
Команды epf собирают, разбирают и конвертируют внешние обработки (.epf) и внешние отчёты (.erf).
vrunner epf <подкоманда> [опции] [аргументы]compile и decompile выполняются Конфигуратором. Если --ibconnection не указана, создаётся временная файловая ИБ; флаг --ibcmd влияет только на способ её создания. Исходники принимаются и выгружаются как в XML-дампе Конфигуратора, так и в формате 1С:EDT (опция --src-format, см. Исходники в формате 1С:EDT).
compile
Собирает внешние обработки и отчёты из исходников. Тип объекта и расширение результата определяются по корневому тегу XML: ExternalDataProcessor → .epf, ExternalReport → .erf.
vrunner epf compile [опции] [SRC]Без --recursive SRC - каталог одного объекта с корневым <Имя>.xml; с --recursive собираются все объекты, найденные в подкаталогах. Из проекта внешних объектов 1С:EDT собираются все его объекты. По умолчанию результат сохраняется рядом с исходниками.
Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
SRC | - | Каталог исходников (по умолчанию - текущий; в файле настроек - ключ src) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
-R, --recursive | - | Рекурсивный поиск обработок и отчётов в подкаталогах |
--out | - | Каталог для собранных файлов |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, файл настроек.
Примеры
# Собрать одну обработку (результат - ./src/epf/МояОбработка.epf)
vrunner epf compile --ibcmd ./src/epf/МояОбработка
# Рекурсивно собрать все обработки и отчёты в каталог build/epf
vrunner epf compile -R --out ./build/epf --ibcmd ./src/epf
# Собрать в существующей базе через Конфигуратор
vrunner epf compile --ibconnection /F./ib --v8version 8.3.24 ./src/epf/МояОбработка
# Собрать все объекты проекта 1С:EDT
vrunner epf compile --src-format edt --out ./build/epf ./edt/ВнешниеОбработкиdecompile
Разбирает файл .epf/.erf или каталог с такими файлами в исходники. Для каждого файла создаётся подкаталог с его именем: по умолчанию рядом с файлом, с --out - в указанном каталоге. С --src-format edt (или если --out - существующий EDT-проект) исходники импортируются в проект внешних объектов 1С:EDT.
vrunner epf decompile [опции] <SRC>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
SRC | - | Файл .epf/.erf или каталог с ними (обязательный; в файле настроек - ключ src) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
-R, --recursive | - | Рекурсивный поиск файлов .epf/.erf в подкаталогах (если SRC - каталог) |
--out | - | Каталог для разобранных исходников |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, файл настроек.
Примеры
# Разобрать один файл (исходники - в ./build/МойОтчёт/)
vrunner epf decompile --ibcmd ./build/МойОтчёт.erf
# Разобрать все файлы каталога рекурсивно в src/epf
vrunner epf decompile -R --out ./src/epf --ibcmd ./build/epf
# Разобрать в проект 1С:EDT
vrunner epf decompile --src-format edt --out ./edt/ВнешниеОбработки ./build/МояОбработка.epfconvert
Конвертирует внешние обработки и отчёты между форматами 1С:EDT и XML Конфигуратора утилитой 1cedtcli - без сборки .epf и без информационной базы. Направление определяется по каталогу --src: EDT-проект выгружается в XML (OUT/ExternalDataProcessors/, OUT/ExternalReports/, по одному <Имя>.xml на объект), XML-дампы импортируются в EDT-проект.
vrunner epf convert [опции] <OUT>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Каталог результата в противоположном формате (обязательный; в файле настроек - ключ out) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог источника: EDT-проект или XML-дампы (по умолчанию - текущий каталог) |
Общие опции: EDT, файл настроек.
Примеры
# EDT → XML
vrunner epf convert --src ./edt/ВнешниеОбработки --edt-version 2025.2 ./build/xml
# XML → EDT (обратно)
vrunner epf convert --src ./build/xml ./edt/ВнешниеОбработкиinfobase - Управление информационными базами
Команды infobase создают и обновляют информационные базы, выгружают и восстанавливают .dt, а также управляют пользователями, расширениями и регламентными заданиями развёрнутой базы.
vrunner infobase <подкоманда> [опции] [аргументы]Команды create-user, lock-resources, scheduled-job и extensions (кроме create) выполняются в режиме 1С:Предприятие внешними обработками из каталога epf/ пакета vanessa-runner. Если --ibconnection у них не указана, используется файловая ИБ build/ib.
init
Создаёт информационную базу и загружает в неё конфигурацию и расширения.
vrunner infobase init [опции]Порядок работы:
- Без опций СУБД создаётся файловая ИБ: по пути из
--ibconnection /F<путь>или, если строка подключения не задана, вbuild/ib. Существующий каталог базы удаляется. - С
--dbms-typeили строкой подключения/S<сервер>\<база>база считается серверной и не создаётся - используется существующая ИБ. - Из
--srcзагружается конфигурация: каталог исходников (XML или EDT) и.cf- с обновлением конфигурации БД,.dt- восстановлением базы целиком. - Из
--extзагружаются расширения и применяются к БД одним обновлением; у загруженных расширений выключены безопасный режим и защита от опасных действий.
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--src | VRUNNER_SOURCE | Источник конфигурации: каталог исходников, .cf или .dt. Синоним --source |
--ext | - | Расширение: .cfe-файл или каталог исходников; можно указать несколько раз. Имя расширения - из имени файла или каталога |
--recursive | - | Искать источники рекурсивно: в --src - конфигурацию (не более одной) и расширения, в --ext - только расширения |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, формат исходников, файл настроек.
Примеры
# Пустая файловая ИБ в build/ib
vrunner infobase init
# ИБ по указанному пути из CF-файла
vrunner infobase init --src ./build/MyApp.cf --ibconnection /F./tmp-ib --ibcmd
# ИБ из исходников с двумя расширениями (.cfe и каталог исходников)
vrunner infobase init \
--src ./src \
--ext ./build/МоёРасширение.cfe \
--ext ./src-ext/Интеграция \
--ibconnection /F./tmp-ib
# Конфигурация и расширения найдены рекурсивно в каталоге проекта
vrunner infobase init --src ./project --recursive
# Загрузка в существующую серверную ИБ через ibcmd
vrunner infobase init \
--src ./build/MyApp.cf \
--ibconnection "/SMyServer\MyIB" \
--ibcmd \
--dbms-type PostgreSQL \
--dbms-server localhost \
--dbms-base my_db \
--dbms-user postgres \
--dbms-pwd secretupdate
Обновляет конфигурацию БД. С --src перед обновлением загружает конфигурацию из каталога XML-исходников или .cf-файла. Без --ibconnection используется файловая ИБ build/ib, которая должна уже существовать.
vrunner infobase update [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--src | VRUNNER_SOURCE | Источник конфигурации: каталог XML-исходников или .cf. Синоним --source |
--target | - | Что обновлять: main - основная конфигурация, <имя> - расширение, пусто - основная конфигурация и все расширения |
--increment | - | Инкрементальная загрузка исходников по индексу изменений |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, обновление конфигурации БД, файл настроек.
Примеры
# Обновить конфигурацию БД и все расширения
vrunner infobase update --ibconnection /F./ib
# Загрузить CF и обновить БД с оптимизированной реструктуризацией
vrunner infobase update --src ./build/MyApp.cf --rtype v2 --ibconnection /F./ib
# Обновить только расширение
vrunner infobase update --target МоёРасширение --ibconnection /F./ibdump-dt
Выгружает информационную базу в файл .dt. Опция --ibconnection обязательна.
vrunner infobase dump-dt [опции] <OUT>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Путь к создаваемому файлу .dt (обязательный; в файле настроек - ключ out) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, файл настроек.
Примеры
vrunner infobase dump-dt --ibconnection /F./ib --v8version 8.3.24 ./backup/MyProject.dtrestore-dt
Загружает информационную базу из файла .dt. Опция --ibconnection обязательна.
vrunner infobase restore-dt [опции] <IN>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
IN | - | Путь к файлу .dt (обязательный; в файле настроек - ключ in) |
Общие опции: подключение к ИБ, ibcmd, платформа, СУБД, файл настроек.
Примеры
vrunner infobase restore-dt --ibconnection /F./ib ./backup/MyProject.dtcreate-user
Создаёт пользователя информационной базы без пароля. Пользователь создаётся только если в ИБ ещё нет ни одного пользователя, иначе команда ничего не делает. Роли, которых нет в конфигурации, пропускаются с предупреждением; если не найдена ни одна - ошибка.
vrunner infobase create-user [опции] <NAME>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
NAME | - | Имя создаваемого пользователя (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--role | - | Роль пользователя; можно указать несколько раз. По умолчанию ПолныеПрава, АдминистраторСистемы и, если есть, ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок |
Общие опции: подключение к ИБ, платформа, СУБД.
Примеры
# Администратор с ролями по умолчанию
vrunner infobase create-user --ibconnection /F./ib Администратор
# Пользователь с заданным набором ролей
vrunner infobase create-user --role ЧтениеДанных --role РаботаСЗаказами --ibconnection /F./ib Операторlock-resources
Разрешает или запрещает работу с внешними ресурсами (механизм БСП). Укажите ровно один из флагов --allow или --deny.
vrunner infobase lock-resources (--allow | --deny) [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--allow | - | Разрешить работу с внешними ресурсами |
--deny | - | Запретить работу с внешними ресурсами |
Общие опции: подключение к ИБ, платформа, СУБД.
Примеры
# Запретить внешние ресурсы на копии базы, чтобы она не слала письма и обмены
vrunner infobase lock-resources --deny --ibconnection /F./ib
# Снова разрешить
vrunner infobase lock-resources --allow --ibconnection /F./ibscheduled-job
Включает или отключает регламентное задание по имени метаданных (механизм БСП).
vrunner infobase scheduled-job <enable | disable> [опции] <JOB>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
JOB | - | Имя метаданных регламентного задания (обязательный) |
Общие опции: подключение к ИБ, платформа, СУБД.
Примеры
vrunner infobase scheduled-job disable --ibconnection /F./ib ИзвлечениеТекста
vrunner infobase scheduled-job enable --ibconnection /F./ib ИзвлечениеТекстаextensions
Работа с расширениями, уже установленными в базе.
vrunner infobase extensions <list | check | create | delete | set-options> [опции] [NAME]Общие опции всех подкоманд: подключение к ИБ, платформа, СУБД.
list
Выводит список установленных расширений в stdout: по умолчанию только имена, с --verbose - таблицу, с --json - массив JSON.
vrunner infobase extensions list [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
-v, --verbose | - | Таблица: имя, синоним, версия и параметры расширений |
--json | - | JSON: имя, синоним, версия, хэш, параметры. Имеет приоритет над --verbose |
Чтобы в stdout не попадали строки лога, переведите лог в stderr ключом log-output (см. Потоки вывода).
check
Проверяет применимость установленных расширений без их загрузки. Без NAME проверяются все расширения. Если найдены проблемы применимости - код возврата 1.
vrunner infobase extensions check [опции] [NAME]| Аргумент | Переменная окружения | Описание |
|---|---|---|
NAME | - | Имя расширения (по умолчанию проверяются все) |
create
Создаёт пустое расширение с заданным именем через Конфигуратор. Если расширение уже существует - ошибка; --overwrite пересоздаёт его. Конфигурация БД не обновляется - примените расширение командой infobase update --target <NAME>.
vrunner infobase extensions create [опции] <NAME>| Аргумент | Переменная окружения | Описание |
|---|---|---|
NAME | - | Имя создаваемого расширения (обязательный) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--overwrite | - | Пересоздать расширение, если оно уже существует |
delete
Удаляет установленное расширение по имени. Если расширение не найдено - ошибка.
vrunner infobase extensions delete [опции] <NAME>| Аргумент | Переменная окружения | Описание |
|---|---|---|
NAME | - | Имя удаляемого расширения (обязательный) |
set-options
Изменяет параметры установленного расширения без его перезагрузки. Меняются только переданные параметры; хотя бы один обязателен. Значения - true или false.
vrunner infobase extensions set-options [опции] <NAME>| Аргумент | Переменная окружения | Описание |
|---|---|---|
NAME | - | Имя расширения (обязательный) |
| Опция | Переменная окружения | Описание |
|---|---|---|
--active | - | Активность расширения |
--safe-mode | - | Безопасный режим |
--unsafe-action-protection | - | Защита от опасных действий |
--main-roles-for-all | - | Использовать основные роли для всех пользователей (платформа 8.3.15+) |
Примеры
# Список установленных расширений
vrunner infobase extensions list --ibconnection /F./ib
# JSON для скриптов (лог - в stderr)
VRUNNER_LOG_OUTPUT=stderr vrunner infobase extensions list --json --ibconnection /F./ib | jq '.[].имя'
# Проверить применимость всех расширений
vrunner infobase extensions check --ibconnection /F./ib
# Создать пустое расширение и применить его к БД
vrunner infobase extensions create --ibconnection /F./ib МоёРасширение
vrunner infobase update --target МоёРасширение --ibconnection /F./ib
# Удалить расширение
vrunner infobase extensions delete --ibconnection /F./ib МоёРасширение
# Включить безопасный режим и снять защиту от опасных действий
vrunner infobase extensions set-options --safe-mode true --unsafe-action-protection false --ibconnection /F./ib МоёРасширениеrepo - Работа с хранилищем конфигурации
Команды repo работают с хранилищем конфигурации 1С через Конфигуратор: создание хранилища, подключение базы, получение и помещение изменений, захват объектов, пользователи хранилища.
vrunner repo <подкоманда> [опции] [аргументы]Адрес хранилища, пользователь, пароль и номер версии задаются общими опциями --storage-name, --storage-user, --storage-pwd, --storage-ver - см. Хранилище конфигурации. Командам create, create-user, copy-user и save-cf информационная база не нужна: без --ibconnection создаётся временная файловая ИБ. Остальные команды работают с базой из --ibconnection.
create
Создаёт хранилище конфигурации по адресу --storage-name; --storage-user и --storage-pwd становятся его администратором.
vrunner repo create [опции]Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo create \
--storage-name D:/repos/MyProject \
--storage-user Администратор \
--storage-pwd secretbind
Подключает информационную базу к хранилищу. По умолчанию конфигурация базы заменяется конфигурацией хранилища.
vrunner repo bind [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--ignore-already-bound | - | Не считать ошибкой, что пользователь уже подключён к хранилищу |
--do-not-replace-cfg | - | Не заменять конфигурацию базы конфигурацией хранилища |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo bind \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ignore-already-bound \
--ibconnection /F./ibunbind
Отключает информационную базу от хранилища. Опции хранилища не нужны.
vrunner repo unbind [опции]Общие опции: подключение к ИБ, платформа, СУБД, файл настроек.
Примеры
vrunner repo unbind --ibconnection /F./ibload
Обновляет конфигурацию базы из хранилища: до версии --storage-ver или до последней. Конфигурация БД при этом не обновляется - выполните infobase update.
vrunner repo load [опции]Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
# Последняя версия хранилища
vrunner repo load \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ibconnection /F./ib
# Конкретная версия
vrunner repo load --storage-name D:/repos/MyProject --storage-user DevUser --storage-pwd secret --storage-ver 42 --ibconnection /F./iblock
Захватывает объекты в хранилище: все или перечисленные в XML-файле --objects.
vrunner repo lock [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--objects | - | Путь к XML-файлу со списком объектов |
--revised | - | Получить захваченные объекты из хранилища (-revised) |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo lock \
--objects ./objects.xml \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ibconnection /F./ibunlock
Отменяет захват объектов: всех или перечисленных в XML-файле --objects.
vrunner repo unlock [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--objects | - | Путь к XML-файлу со списком объектов |
--force | - | Отменить захват, даже если объекты изменены локально |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo unlock \
--force \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ibconnection /F./ibcommit
Помещает изменения захваченных объектов в хранилище: всех или перечисленных в XML-файле --objects.
vrunner repo commit [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--objects | - | Путь к XML-файлу со списком объектов |
--comment | - | Комментарий к помещаемым объектам |
--keep-locked | - | Оставить объекты захваченными после помещения |
--force | - | Игнорировать удалённые объекты |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo commit \
--comment "Задача #123: добавлены новые справочники" \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ibconnection /F./ibsave-cf
Сохраняет конфигурацию из хранилища в файл .cf: версию --storage-ver или последнюю.
vrunner repo save-cf [опции] <OUT>Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
OUT | - | Путь к создаваемому файлу .cf (обязательный; в файле настроек - ключ out) |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo save-cf \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--storage-ver 100 \
./build/MyApp.cfcreate-user
Создаёт пользователя хранилища; у --storage-user должны быть права администрирования хранилища.
vrunner repo create-user [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--new-user-name | - | Логин нового пользователя (обязательная) |
--new-user-pwd | - | Пароль нового пользователя |
--new-user-role | - | Роль: ReadOnly (по умолчанию), LockObjects, ManageConfigurationVersions, Administration |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo create-user \
--new-user-name DevUser \
--new-user-pwd secret \
--new-user-role LockObjects \
--storage-name D:/repos/MyProject \
--storage-user Администратор \
--storage-pwd secretcopy-user
Копирует пользователей из другого хранилища (--source-storage-*) в хранилище --storage-name.
vrunner repo copy-user [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--source-storage-name | - | Адрес хранилища-источника (обязательная) |
--source-storage-user | - | Пользователь хранилища-источника |
--source-storage-pwd | - | Пароль хранилища-источника |
--restore-deleted | - | Восстановить удалённых пользователей |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище, файл настроек.
Примеры
vrunner repo copy-user \
--source-storage-name D:/repos/OldProject \
--source-storage-user Администратор \
--source-storage-pwd secret \
--storage-name D:/repos/MyProject \
--storage-user Администратор \
--storage-pwd secretcluster - Управление кластером серверов
Команды cluster управляют информационной базой в кластере серверов 1С через RAS: создание и удаление ИБ, сведения о ней, сеансы и регламентные задания.
vrunner cluster <подкоманда> [опции]Все команды принимают общие опции кластера: --ras (по умолчанию localhost:1545), --db-name, --cluster или --cluster-name (без них берётся первый кластер в списке), --cluster-admin/--cluster-pwd, а также --db-user/--db-pwd администратора ИБ - см. Кластер серверов. Версия платформы для поиска rac - опция --v8version из раздела Платформа.
create
Создаёт информационную базу в кластере. По умолчанию создаётся и база данных в СУБД по опциям --dbms-*.
vrunner cluster create [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--ib-locale | - | Локализация ИБ (по умолчанию ru_RU) |
--no-create-db | - | Не создавать базу данных в СУБД |
--lock-jobs | - | Сразу заблокировать регламентные задания |
Общие опции: кластер серверов, платформа, СУБД, файл настроек.
Примеры
vrunner cluster create \
--ras localhost:1545 \
--cluster-admin ClusterAdmin \
--cluster-pwd secret \
--db-name MyInfobase \
--dbms-type PostgreSQL \
--dbms-server localhost \
--dbms-base my_db \
--dbms-user postgres \
--dbms-pwd secretinfo
Выводит сведения об ИБ в кластере: имя, идентификатор, СУБД, сервер и имя базы данных, блокировки сеансов и регламентных заданий, выдачу лицензий.
vrunner cluster info [опции]Общие опции: кластер серверов, платформа, файл настроек.
Примеры
vrunner cluster info --ras localhost:1545 --db-name MyInfobase --cluster-admin ClusterAdmin --cluster-pwd secretremove
Удаляет информационную базу из кластера. Без флагов база данных в СУБД остаётся нетронутой.
vrunner cluster remove [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--drop-db | - | Удалить базу данных в СУБД |
--clear-db | - | Очистить базу данных в СУБД |
Общие опции: кластер серверов, платформа, файл настроек.
Примеры
vrunner cluster remove --drop-db --ras localhost:1545 --db-name MyInfobase --cluster-admin ClusterAdmin --cluster-pwd secretsession
Управление сеансами информационной базы.
vrunner cluster session <lock | unlock | list | kill | closed> [опции]Команды list, kill и closed принимают отбор сеансов:
| Опция | Переменная окружения | Описание |
|---|---|---|
--filter-app | - | Отбор по приложению сеанса; можно указать несколько раз или списком через ; |
--filter-name | - | Отбор по имени пользователя ИБ; можно указать несколько раз или списком через ; |
--filter-except | - | Инвертировать отбор: все сеансы, кроме подходящих под --filter-app/--filter-name |
Условия объединяются по ИЛИ: сеанс подходит, если совпало приложение или пользователь. Сравнение регистронезависимое, без масок. Допустимые значения --filter-app: Designer, 1CV8, 1CV8C, WebClient, WSConnection, HTTPServiceConnection, COMConnection, WebServerExtension, BackgroundJob, JobScheduler, SrvrConsole, RAS, AgentStandardCall.
Общие опции всех подкоманд: кластер серверов, платформа, файл настроек.
session lock
Блокирует начало новых сеансов. Код разрешения задаётся опцией --uccode.
vrunner cluster session lock [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--denied-message | - | Сообщение при попытке начать сеанс |
Примеры
vrunner cluster session lock \
--ras localhost:1545 \
--db-name MyInfobase \
--cluster-admin ClusterAdmin \
--cluster-pwd secret \
--uccode MySecretCode \
--denied-message "База закрыта на обслуживание"session unlock
Снимает блокировку начала сеансов.
vrunner cluster session unlock [опции]Примеры
vrunner cluster session unlock --ras localhost:1545 --db-name MyInfobase --cluster-admin ClusterAdmin --cluster-pwd secretsession list
Выводит в stdout сеансы ИБ: номер, приложение, пользователь, компьютер, время начала и последней активности.
vrunner cluster session list [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--connections | - | Дополнительно вывести соединения ИБ (номер, приложение, компьютер, номер сеанса, время установки) - в том числе соединения без сеанса |
Примеры
# Все сеансы базы
vrunner cluster session list --db-name MyInfobase
# Только фоновые задания
vrunner cluster session list --db-name MyInfobase --filter-app BackgroundJob
# Сеансы вместе с соединениями
vrunner cluster session list --db-name MyInfobase --connectionssession kill
Завершает сеансы ИБ, предварительно блокируя начало новых (отключается --no-lock). После каждой попытки команда выдерживает паузу 3 секунды, перечитывает список и завершает оставшиеся сеансы повторно. Если по исчерпании попыток или таймаута сеансы остались - код возврата 1.
vrunner cluster session kill [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--no-lock | - | Не блокировать новые сеансы перед завершением |
--retry | - | Количество попыток завершения (по умолчанию 3); игнорируется при --timeout |
--timeout | - | Максимальное время завершения, сек: попытки повторяются до успеха или таймаута |
Примеры
# Завершить все сеансы
vrunner cluster session kill --ras localhost:1545 --db-name MyInfobase --cluster-admin ClusterAdmin --cluster-pwd secret
# Только сеансы Конфигуратора и указанных пользователей
vrunner cluster session kill --db-name MyInfobase --filter-app Designer --filter-name "регламент;администратор"
# Все сеансы, кроме фоновых заданий
vrunner cluster session kill --db-name MyInfobase --filter-app BackgroundJob --filter-except
# Завершать зависшие сеансы до 2 минут вместо 3 попыток
vrunner cluster session kill --db-name MyInfobase --timeout 120session closed
Проверяет отсутствие сеансов ИБ, а с --timeout - дожидается их завершения. Если сеансы остались, выводит их и завершается с кодом возврата 1 - удобно как шаг пайплайна перед обновлением.
vrunner cluster session closed [опции]| Опция | Переменная окружения | Описание |
|---|---|---|
--timeout | - | Время ожидания, сек: проверка повторяется каждые 3 секунды. По умолчанию 0 - одна проверка |
Примеры
# Убедиться, что сеансов нет
vrunner cluster session closed --db-name MyInfobase
# Дождаться (до 5 минут), пока фоновые задания завершатся сами
vrunner cluster session closed --db-name MyInfobase --filter-app BackgroundJob --timeout 300jobs
Управление регламентными заданиями информационной базы.
vrunner cluster jobs <lock | unlock> [опции]Общие опции: кластер серверов, платформа, файл настроек.
jobs lock
Блокирует выполнение регламентных заданий.
vrunner cluster jobs lock [опции]jobs unlock
Снимает блокировку регламентных заданий.
vrunner cluster jobs unlock [опции]Типичный сценарий: обновление под нагрузкой
# 1. Заблокировать новые сеансы и регламентные задания
vrunner cluster session lock --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwd --uccode UPDATE2026
vrunner cluster jobs lock --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwd
# 2. Дождаться (до 10 минут), пока запущенные фоновые задания доработают
vrunner cluster session closed --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwd --filter-app BackgroundJob --timeout 600
# 3. Завершить оставшиеся сеансы (зависшие добиваются до 2 минут)
vrunner cluster session kill --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwd --timeout 120
# 4. ... обновление ИБ ...
# 5. Разблокировать задания и сеансы
vrunner cluster jobs unlock --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwd
vrunner cluster session unlock --ras localhost:1545 --db-name MyIB --cluster-admin admin --cluster-pwd pwdrun - Запуск 1С
Запуск 1С:Предприятия или Конфигуратора с нужными параметрами из командной строки. Это интерактивные команды, в MCP они не выставляются.
vrunner run <подкоманда> [опции]enterprise
Запускает 1С:Предприятие (тонкий клиент, толстый - при --ordinaryapp) и по умолчанию ждёт его завершения.
vrunner run enterprise [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--command | VRUNNER_COMMAND | Строка, передаваемая в параметр запуска /C |
--execute | VRUNNER_EXECUTE | Путь к внешней обработке для запуска (/Execute); поддерживается макрос $runnerRoot |
--url | - | Навигационная ссылка для перехода после старта (/URL) |
--no-wait | - | Не ожидать завершения 1С:Предприятия |
--exitCodePath | - | Путь к файлу статуса выполнения: 0 - успех, 1 - ошибка, 2 - предупреждение |
Общие опции: подключение к ИБ, платформа, запуск клиента, файл настроек.
Запуск через автономный сервер (--ibsrv) работает только с файловой ИБ и несовместим с --no-wait - в обоих случаях режим ibsrv игнорируется с предупреждением.
Файл статуса (--exitCodePath)
Путь передаётся обработке в строке /C как exitCodePath=<путь> (через ; после значения --command; если в --command уже есть exitCodePath= или xddExitCodePath, повторно не добавляется). После завершения 1С:Предприятия vrunner читает файл: 0 - успех, 2 - предупреждение в логе, 1 и любое другое значение - команда завершается ошибкой. Если обработка файл не создала, выводится предупреждение, команда считается успешной. С --no-wait файл не читается.
Макрос $runnerRoot
В --execute макрос $runnerRoot раскрывается в каталог установки vanessa-runner - так запускаются обработки из его поставки (каталог epf). Файл обработки должен существовать, иначе команда завершается ошибкой.
Примеры
# Запустить обработку и проверить результат по файлу статуса
vrunner run enterprise \
--ibconnection /F./ib \
--execute ./tools/InitIB.epf \
--exitCodePath ./build/result.txt
# Передать параметр запуска /C
vrunner run enterprise \
--ibconnection /F./ib \
--command "StartFilling" \
--v8version 8.3.24
# Обработка из поставки vanessa-runner
vrunner run enterprise \
--ibconnection /F./ib \
--execute '$runnerRoot/epf/ЗакрытьПредприятие.epf'
# Открыть навигационную ссылку и не ждать закрытия клиента
vrunner run enterprise \
--ibconnection /F./ib \
--url "e1cib/list/Catalog.Контрагенты" \
--no-waitdesigner
Запускает Конфигуратор и по умолчанию ждёт его закрытия. Если задан --storage-name, Конфигуратор открывается с подключением к хранилищу (--storage-user, --storage-pwd; --storage-ver не используется).
vrunner run designer [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска Конфигуратора |
--no-wait | - | Не ожидать закрытия Конфигуратора |
Общие опции: подключение к ИБ, платформа, хранилище конфигурации, файл настроек.
Примеры
# Запустить Конфигуратор с дополнительными ключами
vrunner run designer \
--ibconnection /F./ib \
--additional "/DumpConfigToFiles ./src"
# Открыть Конфигуратор с подключением к хранилищу и не ждать закрытия
vrunner run designer \
--ibconnection /F./ib \
--storage-name D:/repos/MyProject \
--storage-user Администратор \
--no-waittest - Запуск тестов
Запуск тестов 1С: модульных через Vanessa-ADD (xUnit) и YAxUnit, функциональных (BDD) через Vanessa-ADD.
vrunner test <подкоманда> [опции] [аргументы]Отчёты о прогоне у всех подкоманд задаются общей парой --report-format / --report-path (Отчёты о результатах), покрытие кода - опциями --coverage-* (Сбор покрытия тестами).
xunit
Запускает тесты через обработку xddTestRunner.epf (xUnit for 1C) из vanessa-add и ждёт завершения 1С:Предприятия.
vrunner test xunit [опции] TESTSPATHАргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
TESTSPATH | VRUNNER_TESTSPATH | Каталог или файл с тестами; с --config-tests - имя расширения с тестами (значение с точкой передаётся загрузчику тестов из подсистем конфигурации). Поддерживается макрос $addRoot (каталог установки vanessa-add). Обязателен; в файле настроек - ключ testspath |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--workspace | VRUNNER_WORKSPACE | Папка проекта (workspaceRoot для макросов $workspace), по умолчанию - текущий каталог |
--pathxunit | VRUNNER_PATHXUNIT | Путь к xddTestRunner.epf (по умолчанию из vanessa-add) |
--reportsxunit | VRUNNER_REPORTSXUNIT | (устарела) Отчёты в виде Формат{Путь};Формат{Путь} |
--reportxunit | - | (устарела) Путь к отчёту jUnit |
--xddExitCodePath | - | Путь к файлу статуса тестирования: 0 - пройдены, 1 - не пройдены |
--xddConfig | - | Путь к конфигурационному файлу xUnitFor1C |
--testclient | - | Тест-клиент: Пользователь:Пароль:Порт; :: или ::Порт - подставить --db-user/--db-pwd |
--testclient-additional | - | Дополнительные параметры запуска тест-клиента |
--config-tests | VRUNNER_CONFIG_TESTS | Загружать тесты, встроенные в конфигурацию |
--no-wait | - | Не ожидать завершения 1С:Предприятия |
--xdddebug | - | Выводить отладочные сообщения при прогоне |
--no-shutdown | - | Не завершать 1С:Предприятие после тестов |
--clear-reports | - | Очищать каталоги отчётов перед запуском |
Общие опции: подключение к ИБ, платформа, запуск клиента, отчёты, покрытие, файл настроек.
Форматы --report-format: junit, allure, json, mxl, genericexecution либо полное имя генератора Vanessa-ADD (ГенераторОтчетаJUnitXML, GenerateReportJUnitXML, в том числе генератор-плагин). Если задан только --report-path, формат - junit. Те же форматы принимает устаревшая --reportsxunit: junit{./build/junit.xml};allure{./build/allure} - её оставили для случая, когда каждому генератору нужен свой путь.
Код возврата vrunner зависит от результата тестов только при заданном --xddExitCodePath: после прогона файл читается, значение 1 завершает команду ошибкой. Клиент запускается с ключом /TESTMANAGER.
Примеры
# Запустить тесты и сформировать JUnit-отчёт
vrunner test xunit \
--ibconnection /F./ib \
--report-format junit \
--report-path ./build/reports/junit.xml \
--xddExitCodePath ./build/status.txt \
./tests
# Два формата за прогон - путь становится каталогом
vrunner test xunit \
--ibconnection /F./ib \
--report-format junit \
--report-format allure \
--report-path ./build/reports \
./tests
# Тесты из расширения, загруженного в базу
vrunner test xunit \
--ibconnection /F./ib \
--config-tests \
--report-format junit \
--report-path ./build/reports/junit.xml \
ТестыКонфигурации
# Встроенные дымовые тесты vanessa-add (макрос $addRoot)
vrunner test xunit \
--ibconnection /F./ib \
'$addRoot/tests/smoke'
# С тест-клиентом (клиент-серверный режим)
vrunner test xunit \
--ibconnection "/SMyServer\MyIB" \
--testclient "Тест:password:1538" \
--report-format junit \
--report-path ./build/reports/junit.xml \
./testsyaxunit
Запускает модульные тесты YAxUnit. Внешняя обработка не нужна: движок и тесты работают как расширения конфигурации, vrunner формирует файл запуска yaxunit.json и запускает 1С:Предприятие с ключом /C RunUnitTests=<файл>.
vrunner test yaxunit [опции]Подготовка ИБ
Перед запуском в базу должны быть загружены через cfe load расширение-движок YAxUnit и расширения с тестовыми модулями, а конфигурация БД - обновлена (не указывайте --no-update-db). Безопасный режим у расширений должен быть выключен, иначе движок не прочитает файл запуска.
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--yaxunit-config | VRUNNER_YAXUNIT_CONFIG | Готовый yaxunit.json - используется как есть, остальные опции фильтра и отчёта игнорируются |
--ext | VRUNNER_YAXUNIT_EXT | Имена расширений с тестами через запятую (filter.extensions) |
--modules | - | Имена модулей с тестами через запятую (filter.modules) |
--tests | - | Полные имена тестов через запятую: Модуль.Тест (filter.tests) |
--tags | - | Теги тестов через запятую (filter.tags) |
--suites | - | Имена наборов тестов через запятую (filter.suites) |
--report | VRUNNER_YAXUNIT_REPORT | (устарела) То же, что --report-path |
--exitcode | VRUNNER_YAXUNIT_EXITCODE | Файл кода возврата, который пишет YAxUnit (exitCode): 0 - пройдены, 1 - есть ошибки |
--project-path | VRUNNER_PROJECT_PATH | Каталог проекта для зависимостей ФайлыПроекта (projectPath), по умолчанию - текущий |
--workspace | VRUNNER_WORKSPACE | Каталог рабочего пространства YAxUnit (workspacePath) |
--show-report | - | Открывать форму отчёта после тестов |
--no-close | - | Не закрывать 1С:Предприятие после тестов |
--no-wait | - | Не ожидать завершения 1С:Предприятия |
Общие опции: подключение к ИБ, платформа, запуск клиента, отчёты, покрытие, файл настроек.
Форматы --report-format: junit (по умолчанию), json, allure - ровно один за прогон.
Опции фильтра комбинируются по «И»: --ext МоиТесты --tags smoke запустит тесты с тегом smoke только из расширения МоиТесты. Без фильтра выполняются все найденные тесты.
Результат и код возврата
Если --report-path не задан, отчёт jUnit формируется во временном файле. По отчёту jUnit vrunner печатает саммари и выставляет код возврата: 0 - все тесты пройдены, ошибка - есть провалы или ошибки либо отчёт не сформирован (не загружены движок или расширения с тестами). Для форматов json и allure выводится только путь к отчёту, код возврата от результата не зависит; то же при --yaxunit-config без reportPath.
YAxUnit: всего 12, успешно 11, провалено 1, ошибок 0, пропущено 0
[x] МойМодуль.ПроверкаСложения - ожидали 4, получили 5Примеры
# Минимальный запуск: отчёт во временный файл, саммари в консоль
vrunner test yaxunit --ibconnection /F./ib
# Тесты из расширения с JUnit-отчётом для CI
vrunner test yaxunit \
--ibconnection /F./ib \
--ext МоиТесты \
--report-format junit \
--report-path ./build/reports/yaxunit.xml
# Только тесты с заданными тегами из конкретных модулей
vrunner test yaxunit \
--ibconnection /F./ib \
--modules МодульТестовКаталога,МодульТестовДокумента \
--tags "smoke,critical"
# Готовый файл запуска
vrunner test yaxunit \
--ibconnection /F./ib \
--yaxunit-config ./yaxunit.jsonФормат yaxunit.json описан в документации YAxUnit.
vanessa
Запускает сценарии в формате Gherkin через обработку bddRunner.epf (Vanessa-ADD) и ждёт завершения 1С:Предприятия.
vrunner test vanessa [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--feature-path | VRUNNER_FEATUREPATH | Каталог с фичами или файл .feature; поддерживается макрос $addRoot. Несовместим с --ordinaryapp |
--bddrunner-path | VRUNNER_PATHVANESSA | Путь к bddRunner.epf (по умолчанию из vanessa-add) |
--vanessasettings | VRUNNER_VANESSASETTINGS | Файл настроек Vanessa-ADD (VBParams); относительный путь и макросы $workspaceRoot/$workspace разрешаются от --workspace |
--workspace | VRUNNER_WORKSPACE | Папка проекта (workspaceRoot), по умолчанию - текущий каталог |
--tags-ignore | - | Теги игнорирования фич (TagsIgnore) |
--tags-filter | - | Теги фильтрации фич (TagsFilter) |
--additional-keys | - | Дополнительные параметры, передаваемые в /C |
--no-wait | - | Не ожидать завершения 1С:Предприятия |
Общие опции: подключение к ИБ, платформа, запуск клиента, отчёты, покрытие, файл настроек.
Путь к фичам передаётся в Vanessa-ADD переменной окружения VANESSA_FEATUREPATH и переопределяет КаталогФич из файла настроек. Форматы --report-format: junit, allure, cucumberjson; для всех путь - каталог, поэтому --report-path обязателен. У bddRunner.epf нет ключей запуска для отчётов, поэтому vrunner накладывает их на настройки из --vanessasettings (исходный файл не меняется, опции командной строки перекрывают одноимённые настройки). Клиент запускается с ключом /TESTMANAGER.
Примеры
# Запустить все фичи с настройками проекта
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features \
--vanessasettings ./tools/vanessa/vb-params.json
# Фильтр по тегам
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features \
--tags-filter "@smoke" \
--tags-ignore "@wip"
# Одна фича и отчёты JUnit + Allure в каталог
vrunner test vanessa \
--ibconnection /F./ib \
--feature-path ./features/Catalog.feature \
--report-format junit \
--report-format allure \
--report-path ./build/reportsФормат файла настроек Vanessa-ADD описан в репозитории vanessa-add.
Покрытие тестами
Все три подкоманды умеют собирать покрытие кода конфигурации и расширений: достаточно указать --coverage-report - путь к XML-отчёту (generic для SonarQube, cobertura, clover). Опции --coverage-*, сервер отладки и ограничения описаны на странице Сбор покрытия тестами.
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xmlСбор покрытия тестами
Команды test xunit, test yaxunit, test vanessa умеют собирать покрытие кода тестами: какие строки модулей конфигурации и расширений выполнились во время прогона. Результат - XML-отчёт в формате genericCoverage (SonarQube), Cobertura или Clover.
Сбор включается одной опцией --coverage-report - путём к файлу отчёта. Остальное работает по умолчанию: сервер отладки dbgs поднимается сам, исходники ищутся в ./src, процент покрытия считается автоматически.
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xmlПример вывода в консоль:
Включён сбор покрытия, отчёт: build/coverage.xml
...
Покрытие строк: 78% (покрыто 39 из 50)
Отчёт покрытия сформирован: build/coverage.xmlОпции
Опции покрытия одинаковы для всех трёх подкоманд test.
| Опция | Переменная окружения | Описание |
|---|---|---|
--coverage-report | VRUNNER_COVERAGE_REPORT | Путь к файлу отчёта. Если задан - покрытие собирается |
--coverage-format | VRUNNER_COVERAGE_FORMAT | Формат отчёта: generic (по умолчанию), cobertura, clover |
--coverage-src | VRUNNER_COVERAGE_SRC | Каталог исходников конфигурации (по умолчанию ./src, поиск рекурсивный) |
--coverage-ext | - | Каталог исходников расширения; можно указать несколько раз |
--coverage-server | VRUNNER_COVERAGE_SERVER | Сервер отладки [хост:]порт: пусто или порт - поднять свой; хост:порт - подключиться к запущенному |
--coverage-dbgs | VRUNNER_COVERAGE_DBGS | Путь к исполняемому файлу dbgs (по умолчанию - из установленной платформы) |
--coverage-alias | VRUNNER_COVERAGE_ALIAS | Имя (алиас) ИБ для сеанса отладки (по умолчанию - из строки подключения) |
--coverage-debug-pwd | VRUNNER_COVERAGE_DEBUG_PWD | Пароль сервера отладки |
--coverage-skip-lines | VRUNNER_COVERAGE_SKIP_LINES | Не рассчитывать покрываемые строки и процент покрытия |
Покрытие несовместимо с --no-wait: клиент 1С должен завершиться до сбора данных, иначе команда завершается ошибкой.
Форматы отчёта
--coverage-format | Формат | Назначение |
|---|---|---|
generic (по умолчанию) | genericCoverage XML | SonarQube: свойство sonar.coverageReportPaths |
cobertura | Cobertura XML | Jenkins, GitLab CI и др. |
clover | Clover XML |
Каталог для файла отчёта создаётся автоматически.
Сервер отладки
Покрытие снимается через сервер отладки dbgs из поставки платформы 1С. Опция --coverage-server [хост:]порт задаёт, какой сервер использовать:
- не задана или указан только порт (
1550,:9000) - vrunner поднимает свойdbgsлокально и останавливает его после прогона. Без порта берётся1550, занятый порт подбирается автоматически; явно указанный занятый порт - ошибка; - указан хост (
server:1550,server) - vrunner подключается к уже запущенному серверу отладки, в том числе на другой машине, и не останавливает его.
Путь к dbgs определяется по версии платформы (--v8version); переопределить его можно опцией --coverage-dbgs. При запуске через автономный сервер (--ibsrv) он подключается к тому же серверу отладки, и серверный код попадает в покрытие.
Клиент-серверные базы
Для серверной ИБ код тестов исполняется в процессе кластера (rphost). Чтобы собрать покрытие серверного кода, сервер отладки должен быть доступен кластеру, а на кластере должна быть разрешена отладка. Обычно dbgs поднимают на машине кластера и подключаются к нему через --coverage-server <хост>:<порт>.
Сопоставление с исходниками
Чтобы перевести исполненные строки модулей в строки файлов, нужны исходники в формате XML-выгрузки Конфигуратора или 1С:EDT (формат определяется автоматически):
- конфигурация - каталог
--coverage-src(по умолчанию./src, поиск рекурсивный); - расширения - находятся в том же каталоге, а также задаются явно через
--coverage-ext.
Если исходники не найдены, отчёт не формируется, а в лог выводится предупреждение с подсказкой проверить --coverage-src. Если ни один исполненный модуль не сопоставлен с файлом, отчёт формируется пустым, также с предупреждением.
Процент покрытия
Сервер отладки отдаёт только исполненные строки. Знаменатель - все покрываемые строки модулей - считает утилита lines-to-cover: самодостаточный бандл со своей JRE, устанавливать Java не нужно. При первом запуске покрытия утилита скачивается с GitHub в кеш и переиспользуется дальше; расчёт идёт в фоне параллельно с тестами. Непокрытые строки попадают в отчёт, в консоль выводится Покрытие строк: N% (покрыто X из Y).
Флаг --coverage-skip-lines отключает расчёт: отчёт содержит только исполненные строки, без процента и без загрузки утилиты.
Установка lines-to-cover вручную
Если автозагрузка недоступна (нет доступа в интернет), скачайте релиз утилиты, распакуйте в каталог с подпапками bin/ и lib/ и укажите его в autumn-properties.json (секция coverage верхнего уровня, вне vrunner):
{
"coverage": {
"lines-tool": {
"home": "D:/tools/lines-to-cover"
}
}
}| Ключ | По умолчанию | Описание |
|---|---|---|
coverage.lines-tool.home | - | Каталог установленной утилиты (bin/, lib/); задан - загрузка не выполняется |
coverage.lines-tool.version | 0.1.0 | Версия утилиты для автозагрузки |
coverage.lines-tool.base-url | GitHub Releases | Базовый URL загрузки релиза |
coverage.lines-tool.tools-dir | <temp>/vanessa-runner/tools | Каталог кеша загруженных утилит |
Примеры
# Покрытие конфигурации из ./src
vrunner test yaxunit \
--ibconnection /F./ib \
--coverage-report ./build/coverage.xml
# Конфигурация и расширение с тестами, формат Cobertura
vrunner test yaxunit \
--ibconnection /F./ib \
--ext МоиТесты \
--coverage-report ./build/coverage.xml \
--coverage-format cobertura \
--coverage-src ./src \
--coverage-ext ./tests-ext/src
# Только исполненные строки, без процента и загрузки lines-to-cover
vrunner test xunit \
--ibconnection /F./ib \
--coverage-report ./build/coverage.xml \
--coverage-skip-lines \
./tests
# Клиент-серверная ИБ: сервер отладки на машине кластера
vrunner test yaxunit \
--ibconnection "/S1c-server\MyBase" \
--coverage-report ./build/coverage.xml \
--coverage-server 1c-server:1550validate - Проверка конфигурации
Статическая проверка: синтаксический контроль конфигурации через Конфигуратор и проверка проекта средствами 1С:EDT. Обе команды печатают замечания в лог, выгружают их в отчёт для CI (Отчёты о результатах) и завершаются с ошибкой при наличии замечаний.
vrunner validate <подкоманда> [опции]syntax-check
Выполняет проверку конфигурации Конфигуратором (/CheckConfig) в указанных режимах и по указанным целям. Без --ibconnection проверка выполняется во временной файловой базе - это имеет смысл вместе с --storage-name: конфигурация берётся из хранилища.
vrunner validate syntax-check [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--mode | - | Режим проверки; можно указать несколько раз. По умолчанию: ThinClient, WebClient, Server, ExternalConnection, ThickClientOrdinaryApplication |
--target | - | Что проверять: main, AllExtensions или имя расширения; можно указать несколько раз. По умолчанию - всё |
--junitpath | VRUNNER_JUNITPATH | (устарела) Путь к файлу отчёта JUnit XML |
--allure-results | VRUNNER_ALLURE_RESULTS | (устарела) Каталог результатов Allure 2 |
--exception-file | - | Файл исключений: UTF-8, по одной подстроке замечания на строку |
--groupbymetadata | - | Группировать замечания в отчётах по объектам метаданных |
--testsuitename | - | Имя тестового набора в отчёте (по умолчанию syntax-check) |
Общие опции: подключение к ИБ, платформа, СУБД, хранилище конфигурации, отчёты, файл настроек.
Форматы --report-format: junit (по умолчанию), allure. Код возврата 1, если после фильтрации исключениями остались замечания.
Что проверять (--target)
Область проверки у платформы взаимоисключающая: за один запуск Конфигуратор проверяет либо основную конфигурацию, либо расширения. Поэтому каждая цель --target - отдельный запуск Конфигуратора и отдельная полная проверка.
| Значение | Что проверяется |
|---|---|
| не указано | основная конфигурация и все расширения (два запуска) |
main | только основная конфигурация |
AllExtensions | все расширения базы одним запуском |
<имя расширения> | только это расширение; имя - как в базе (vrunner infobase extensions list) |
AllExtensionsпоглощает перечисленные поимённо расширения:--target Расш1 --target AllExtensionsдаст один запуск по всем расширениям.- Порядок запусков: сначала основная конфигурация, затем расширения в порядке перечисления.
- Если расширения с таким именем в базе нет, команда завершается ошибкой.
- Значение
AllExtensionsв--mode(способ 2.x) равносильно--target AllExtensions.
Режимы проверки (--mode)
| Режим | Описание |
|---|---|
ThinClient | Тонкий клиент |
WebClient | Веб-клиент |
Server | Сервер |
ExternalConnection | Внешнее соединение |
ExternalConnectionServer | Внешнее соединение (клиент-серверный) |
MobileClient | Мобильный клиент |
MobileClientStandalone | Мобильный клиент (автономный) |
MobileAppClient | Мобильное приложение (клиент) |
MobileAppServer | Мобильное приложение (сервер) |
ThickClientManagedApplication | Толстый клиент (управляемое приложение) |
ThickClientServerManagedApplication | Толстый клиент (управляемое, клиент-серверный) |
ThickClientOrdinaryApplication | Толстый клиент (обычное приложение) |
ThickClientServerOrdinaryApplication | Толстый клиент (обычное, клиент-серверный) |
ConfigLogIntegrity | Проверка логической целостности конфигурации |
IncorrectReferences | Поиск некорректных ссылок |
DistributiveModules | Поставка модулей без исходных текстов |
UnreferenceProcedures | Поиск неиспользуемых процедур и функций |
HandlersExistence | Проверка существования назначенных обработчиков |
EmptyHandlers | Поиск пустых обработчиков |
ExtendedModulesCheck | Расширенная проверка модулей |
CheckUseModality | Поиск использования модальности |
CheckUseSynchronousCalls | Поиск использования синхронных вызовов |
UnsupportedFunctional | Поиск неподдерживаемой функциональности |
AllExtensions | Проверка всех расширений (то же, что --target AllExtensions) |
Файл исключений
Каждая строка файла --exception-file - подстрока замечания, которое нужно пропустить (регистр не важен). Многострочные замечания Конфигуратора склеиваются в одну строку, так что подстрока может быть и из фрагмента кода. Всегда пропускаются сообщения об обработчиках Подключаемый_ (нет ссылок на процедуру, пустой обработчик). Если файл не найден, выводится предупреждение и проверка идёт без него.
Структура отчёта
По умолчанию каждое замечание - отдельный тест-кейс с текстом замечания в имени. С --groupbymetadata тест-кейс создаётся на объект метаданных, а все его замечания попадают в failure по строке на каждое; у объектов расширения в имя входит имя расширения (ТестРасширения ОбщийМодуль.Расш1_Модуль1.Модуль). Замечания без привязки к объекту собираются в тест-кейс Синтаксическая проверка конфигурации. Успешная проверка тоже даёт один тест-кейс - пустой отчёт неотличим от прогона, который до отчёта не дошёл.
В результатах Allure у кейса проставляются метки suite (значение --testsuitename), package (объект метаданных) и severity.
Примеры
# Несколько режимов, отчёт JUnit
vrunner validate syntax-check \
--ibconnection /F./ib \
--mode ThinClient \
--mode Server \
--mode WebClient \
--report-format junit \
--report-path ./build/reports/syntax.xml
# Только основная конфигурация, группировка по метаданным, файл исключений
vrunner validate syntax-check \
--ibconnection /F./ib \
--target main \
--groupbymetadata \
--exception-file ./syntax-check-exceptions.txt \
--testsuitename "MyProject syntax check" \
--report-format junit \
--report-path ./build/reports/syntax.xml
# Конкретные расширения - по запуску на каждое
vrunner validate syntax-check --ibconnection /F./ib --target Расш1 --target Расш2
# JUnit и Allure за один прогон - путь становится каталогом
vrunner validate syntax-check \
--ibconnection /F./ib \
--report-format junit \
--report-format allure \
--report-path ./build/reportsedt
Выполняет штатную проверку EDT-проекта (1cedtcli validate), разбирает замечания и завершается с ошибкой, если есть замечания не ниже уровня --min-severity.
vrunner validate edt [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--src, -s | VRUNNER_SRC | Каталог EDT-проекта (по умолчанию - текущий) |
--min-severity | - | Уровень замечаний, начиная с которого команда завершается с ошибкой: critical, major (по умолчанию), minor, none |
--report | VRUNNER_EDT_REPORT | (устарела) Файл результатов в исходном формате 1С:EDT |
--junitpath | VRUNNER_JUNITPATH | (устарела) Путь к файлу отчёта JUnit XML |
--allure-results | VRUNNER_ALLURE_RESULTS | (устарела) Каталог результатов Allure 2 |
--testsuitename | - | Имя тестового набора в отчёте (по умолчанию edt) |
Общие опции: формат исходников, EDT (
--edt-*), отчёты, файл настроек.
Форматы --report-format: junit (по умолчанию), allure, edt. Формат edt - сырой файл результатов 1cedtcli validate (текст, по замечанию на строку, поля через табуляцию), который принимает, например, edt-ripper для загрузки в SonarQube.
Уровни важности (--min-severity)
| Значение | Команда завершается с ошибкой |
|---|---|
critical | только при критических замечаниях |
major | при значительных и критических (по умолчанию) |
minor | при любых замечаниях |
none | никогда - только отчёт |
В отчётах все замечания присутствуют независимо от порога: в JUnit блокирующие помечены как failure, в Allure - статус failed, остальные - broken. Метка package кейса Allure - категория замечания EDT, severity - его уровень (critical, normal, minor). Если 1cedtcli не создал файл результатов, команда завершается ошибкой с его выводом.
Примеры
# Проверить EDT-проект в текущем каталоге (порог по умолчанию - major)
vrunner validate edt
# Конкретный проект и версия EDT, отчёт JUnit для CI
vrunner validate edt \
--src ./edt-project \
--edt-version 2024.1 \
--report-format junit \
--report-path ./build/reports/edt.xml
# Не падать на замечаниях, только собрать отчёт
vrunner validate edt --src ./edt-project --min-severity none --report-format junit --report-path ./build/reports/edt.xml
# Исходный отчёт EDT для SonarQube через edt-ripper
vrunner validate edt --src ./edt-project --min-severity none --report-format edt --report-path ./build/reports/edt-validate.tsv
# Несколько форматов за один прогон - путь становится каталогом
vrunner validate edt --src ./edt-project --report-format junit --report-format edt --report-path ./build/reportsvrunner compile / vrunner compileconf
Сборка конфигурации из XML-исходников в .cf. В 3.0 — vrunner cf compile <OUT>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner compile, vrunner compileconf | vrunner cf compile [опции] <OUT> |
--out ./build/1Cv8.cf | позиционный аргумент OUT (в командной строке, VRUNNER_CF_OUT или ключ out в файле настроек) |
--src ./cf | --src ./cf (-s), по умолчанию — текущий каталог |
--ibconnection | необязательна: без неё создаётся временная файловая база |
| — | --ibcmd: сборка утилитой ibcmd вместо конфигуратора |
Секции настроек compile, compileconf | vrunner.cf.compile (ключи src, out) |
Пример
Было (2.x):
vrunner compile \
--src ./cf \
--out ./build/1Cv8.cf \
--ibconnection /F./build/tmp-ib \
--v8version 8.3.24Стало (3.0):
# Через ibcmd, без явной базы
vrunner cf compile --src ./cf --ibcmd ./build/1Cv8.cf
# Через конфигуратор с явной базой
vrunner cf compile \
--src ./cf \
--ibconnection /F./build/tmp-ib \
--v8version 8.3.24 \
./build/1Cv8.cfФайл настроек — было (vrunner.json):
{
"compile": {
"--src": "./cf",
"--out": "./build/1Cv8.cf"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"cf": {
"compile": {
"src": "./cf",
"out": "./build/1Cv8.cf"
}
}
}
}vrunner compileepf
Сборка внешних обработок и отчётов .epf/.erf из XML-исходников. В 3.0 — vrunner epf compile [SRC]: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner compileepf <inputPath> <outputPath> | vrunner epf compile [опции] [SRC] |
Позиционный inputPath | позиционный SRC (по умолчанию — текущий каталог) |
Позиционный outputPath | опция --out <каталог> |
| — | --recursive (-R): поиск обработок по подкаталогам |
| — | --ibcmd: сборка утилитой ibcmd; без --ibconnection создаётся временная база |
Секция настроек compileepf, ключи inputPath, outputPath | vrunner.epf.compile, ключи src, out (скрипт конвертации переименовывает) |
Пример
Было (2.x):
vrunner compileepf src/epf build/epf \
--ibconnection /F./build/ib \
--v8version 8.3.24Стало (3.0):
# Через ibcmd, рекурсивно по подкаталогам
vrunner epf compile --out ./build/epf --ibcmd -R ./src/epf
# Через конфигуратор
vrunner epf compile \
--out ./build/epf \
--ibconnection /F./build/ib \
--v8version 8.3.24 \
./src/epfФайл настроек — было (vrunner.json):
{
"compileepf": {
"inputPath": "./src/epf",
"outputPath": "./build/epf"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"epf": {
"compile": {
"src": "./src/epf",
"out": "./build/epf"
}
}
}
}vrunner compileext
Сборка расширения конфигурации из XML-исходников в .cfe. В 3.0 — vrunner cfe compile <OUT>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner compileext <inputPath> | vrunner cfe compile [опции] <OUT> |
Позиционный inputPath | --src <каталог> (-s), по умолчанию — текущий каталог |
| Выходной файл определялся автоматически | позиционный OUT — путь к .cfe (в командной строке, VRUNNER_CFE_OUT или ключ out в файле настроек) |
--extensionName | --extension-name (VRUNNER_EXTENSION_NAME); если не задано — имя каталога исходников |
| — | --ibcmd: сборка утилитой ibcmd; без --ibconnection создаётся временная база |
Секция настроек compileext, ключи inputPath, extensionName | vrunner.cfe.compile, ключи src, extension-name (скрипт конвертации переименовывает); ключ out добавьте вручную |
Пример
Было (2.x):
vrunner compileext ./cfe/Доработки \
--extensionName Доработки \
--ibconnection /F./build/ibСтало (3.0):
# Через ibcmd
vrunner cfe compile --src ./cfe/Доработки --ibcmd ./build/Доработки.cfe
# Через конфигуратор с явной базой
vrunner cfe compile \
--src ./cfe/Доработки \
--extension-name Доработки \
--ibconnection /F./build/ib \
./build/Доработки.cfeФайл настроек — было (vrunner.json):
{
"compileext": {
"inputPath": "./cfe/Доработки",
"extensionName": "Доработки"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"cfe": {
"compile": {
"src": "./cfe/Доработки",
"extension-name": "Доработки",
"out": "./build/Доработки.cfe"
}
}
}
}vrunner decompile / vrunner decompileconf
Разборка .cf в XML-исходники. В 3.0 — vrunner cf decompile <OUT>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner decompile, vrunner decompileconf | vrunner cf decompile [опции] <OUT> |
--out ./cf | позиционный аргумент OUT (в командной строке или ключ out в файле настроек) |
--in ./build/1Cv8.cf | --cf-file ./build/1Cv8.cf (VRUNNER_CF_FILE); без неё выгружается конфигурация базы из --ibconnection |
| — | --ibcmd: разборка утилитой ibcmd вместо конфигуратора |
Секции настроек decompile, decompileconf | vrunner.cf.decompile; ключ in → cf-file переименуйте вручную |
Пример
Было (2.x):
vrunner decompile \
--in ./build/1Cv8.cf \
--out ./cf \
--ibconnection /F./build/tmp-ibСтало (3.0):
# Из файла cf через ibcmd
vrunner cf decompile --cf-file ./build/1Cv8.cf --ibcmd ./cf
# Конфигурация базы через конфигуратор
vrunner cf decompile --ibconnection /F./build/ib ./cfФайл настроек — было (vrunner.json):
{
"decompile": {
"--in": "./build/1Cv8.cf",
"--out": "./cf"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"cf": {
"decompile": {
"cf-file": "./build/1Cv8.cf",
"out": "./cf"
}
}
}
}vrunner decompileepf
Разборка внешних обработок и отчётов .epf/.erf в XML-исходники. В 3.0 — vrunner epf decompile <SRC>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner decompileepf <inputPath> <outputPath> | vrunner epf decompile [опции] <SRC> |
Позиционный inputPath | позиционный SRC: файл .epf/.erf или каталог с ними (в командной строке или ключ src в файле настроек) |
Позиционный outputPath | опция --out <каталог> |
| — | --recursive (-R): поиск файлов по подкаталогам |
| — | --ibcmd: разборка утилитой ibcmd; без --ibconnection создаётся временная база |
Секция настроек decompileepf, ключи inputPath, outputPath | vrunner.epf.decompile, ключи src, out (скрипт конвертации переименовывает) |
Пример
Было (2.x):
vrunner decompileepf build/epf src/epf \
--ibconnection /F./build/ib \
--v8version 8.3.24Стало (3.0):
# Каталог с обработками через ibcmd
vrunner epf decompile --out ./src/epf --ibcmd ./build/epf
# Один файл через конфигуратор
vrunner epf decompile \
--out ./src/epf/MyReport \
--ibconnection /F./build/ib \
--v8version 8.3.24 \
./build/epf/MyReport.epfvrunner decompileext
Разборка расширения конфигурации в XML-исходники. В 3.0 — vrunner cfe decompile <OUT>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner decompileext | vrunner cfe decompile [опции] <OUT> |
--outputPath <каталог> | позиционный OUT (в командной строке или ключ out в файле настроек) |
--extensionName | --extension-name (VRUNNER_EXTENSION_NAME), обязательна |
Источник — расширение из базы --ibconnection | без изменений; дополнительно --cfe-file <файл> (VRUNNER_CFE_FILE) разбирает файл .cfe — тогда база не нужна, создаётся временная |
| — | --ibcmd: разборка утилитой ibcmd |
Секция настроек decompileext, ключи outputPath, extensionName | vrunner.cfe.decompile, ключи out, extension-name (скрипт конвертации переименовывает) |
Пример
Было (2.x):
vrunner decompileext \
--extensionName Доработки \
--outputPath ./cfe/Доработки \
--ibconnection /F./build/ibСтало (3.0):
# Расширение из базы
vrunner cfe decompile \
--extension-name Доработки \
--ibconnection /F./build/ib \
./cfe/Доработки
# Файл cfe через ibcmd
vrunner cfe decompile \
--cfe-file ./build/Доработки.cfe \
--extension-name Доработки \
--ibcmd \
./cfe/ДоработкиФайл настроек — было (vrunner.json):
{
"decompileext": {
"extensionName": "Доработки",
"outputPath": "./cfe/Доработки"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"cfe": {
"decompile": {
"extension-name": "Доработки",
"out": "./cfe/Доработки"
}
}
}
}vrunner designer
Запуск конфигуратора с параметрами подключения к базе и хранилищу. В 3.0 — vrunner run designer: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner designer | vrunner run designer |
--ibconnection, --db-user, --db-pwd, --v8version, --uccode | без изменений |
--storage-name, --storage-user, --storage-pwd | без изменений |
Секция настроек designer | vrunner.run.designer |
Пример
Было (2.x):
vrunner designer \
--ibconnection /Sserver1c/devib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123Стало (3.0):
vrunner run designer \
--ibconnection /Sserver1c/devib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123vrunner init-dev / vrunner update-dev
init-dev создавал информационную базу (с --storage — с загрузкой конфигурации из хранилища), update-dev обновлял конфигурацию БД. В 3.0 — vrunner infobase init и vrunner infobase update: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner init-dev | vrunner infobase init |
vrunner update-dev | vrunner infobase update |
vrunner init-dev --storage --storage-name … | три команды: infobase init, repo bind, infobase update (пример ниже) |
--v1 / --v2 | --rtype v1 / --rtype v2 у infobase update; без опции режим реструктуризации не передаётся платформе |
Секции настроек init-dev, update-dev | vrunner.infobase.init, vrunner.infobase.update; скрипт конвертации их не переносит |
infobase init может сразу загрузить конфигурацию (--src: каталог исходников, .cf или .dt) и расширения (--ext, с --recursive — поиском по каталогам).
Пример
Было (2.x):
vrunner init-dev \
--ibconnection /F./build/ib \
--storage \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123Стало (3.0):
# 1. Создать пустую базу
vrunner infobase init --ibconnection /F./build/ib
# 2. Подключить к хранилищу: конфигурация базы заменяется конфигурацией хранилища
vrunner repo bind \
--ibconnection /F./build/ib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123
# 3. Обновить конфигурацию БД
vrunner infobase update --ibconnection /F./build/ibОбновление (update-dev) — было:
vrunner update-dev --ibconnection /F./build/ib --v2Стало:
vrunner infobase update --ibconnection /F./build/ib --rtype v2vrunner init-project
Создавала структуру нового проекта по шаблону: клонировала Git-репозиторий и предлагала установить пакеты gitsync, gitrules, precommit1c.
В 3.0 аналога нет. Секция init-project файла настроек скриптом конвертации не переносится.
Вместо команды клонируйте шаблон и установите пакеты вручную:
git clone https://github.com/vanessa-opensource/vanessa-bootstrap.git my-project
cd my-project
opm install vanessa-runner
opm install gitsyncvrunner loadrepo
Обновление конфигурации информационной базы из хранилища. В 3.0 — vrunner repo load: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner loadrepo | vrunner repo load |
--storage-name, --storage-user, --storage-pwd, --storage-ver | без изменений |
RUNNER_storage_name, RUNNER_storage_user, RUNNER_storage_pwd | VRUNNER_STORAGE_NAME, VRUNNER_STORAGE_USER, VRUNNER_STORAGE_PWD |
Секция настроек loadrepo | vrunner.repo.load |
repo load обновляет только конфигурацию; конфигурацию БД после этого обновляет vrunner infobase update.
Пример
Было (2.x):
vrunner loadrepo \
--ibconnection /F./build/ib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123Стало (3.0):
vrunner repo load \
--ibconnection /F./build/ib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123
vrunner infobase update --ibconnection /F./build/ibvrunner run
Запуск 1С:Предприятия с параметрами /C и /Execute. В 3.0 — vrunner run enterprise: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner run | vrunner run enterprise |
--command, --execute, --uccode, --additional | без изменений |
--nocacheuse | удалена: в 3.0 кеш списка баз не используется |
--ordinaryapp 1 | --ordinaryapp (флаг без значения); --ordinaryapp 0 и -1 - просто не указывать. В настройках и VRUNNER_ORDINARYAPP значение 1 по-прежнему означает толстый клиент |
RUNNER_* | VRUNNER_* (VRUNNER_COMMAND, VRUNNER_EXECUTE, VRUNNER_ADDITIONAL) |
Секция настроек run | vrunner.run.enterprise |
Пример
Было (2.x):
vrunner run \
--ibconnection /F./build/ib \
--uccode godModeOFF \
--nocacheuse \
--command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
--execute "$runnerRoot/epf/ЗакрытьПредприятие.epf"Стало (3.0):
vrunner run enterprise \
--ibconnection /F./build/ib \
--uccode godModeOFF \
--command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
--execute "$runnerRoot/epf/ЗакрытьПредприятие.epf"Файл настроек — было (vrunner.json):
{
"run": {
"--uccode": "godModeOFF",
"--command": "ЗапуститьОбновлениеИБ;РежимОтладки;"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"run": {
"enterprise": {
"uccode": "godModeOFF",
"command": "ЗапуститьОбновлениеИБ;РежимОтладки;"
}
}
}
}vrunner scheduledjobs lock / unlock
Блокировка и разблокировка регламентных заданий информационной базы через rac/ras. В 3.0 — vrunner cluster jobs lock / unlock: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner scheduledjobs lock | vrunner cluster jobs lock |
vrunner scheduledjobs unlock | vrunner cluster jobs unlock |
--db <имя базы> | --db-name <имя> (VRUNNER_IBNAME) |
--ras, --rac, --db-user, --db-pwd | без изменений |
| Секции настроек не было | общие ключи в vrunner.cluster (ras, rac, db-name, cluster-admin, cluster-pwd) |
Администратор кластера задаётся --cluster-admin/--cluster-pwd: Общие опции. Отключение отдельного регламентного задания по имени метаданных (БСП) — vrunner infobase scheduled-job disable <JOB>: документация.
Пример
Было (2.x):
vrunner scheduledjobs lock \
--ras localhost:1545 \
--rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
--db MyInfobase \
--db-user Администратор \
--db-pwd secretСтало (3.0):
vrunner cluster jobs lock \
--ras localhost:1545 \
--rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
--db-name MyInfobase \
--db-user Администратор \
--db-pwd secretТипичный цикл обслуживания в 3.0 (jobs lock → session lock → session kill → обновление → session unlock → jobs unlock): cluster.
vrunner session lock / unlock / kill / closed
Управление сеансами информационной базы через rac/ras. В 3.0 — vrunner cluster session …: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner session lock | vrunner cluster session lock |
vrunner session unlock | vrunner cluster session unlock |
vrunner session kill | vrunner cluster session kill |
vrunner session closed | vrunner cluster session closed |
| — | vrunner cluster session list [--connections] — список сеансов |
--db <имя базы> | --db-name <имя> (VRUNNER_IBNAME) |
--ras, --rac, --db-user, --db-pwd, --uccode | без изменений |
--lockmessage <текст> | --denied-message <текст> |
--lockstartat <сек>, --lockendclear | убраны: блокировка применяется сразу |
--filter "appid=Designer;1CV8" (kill, closed) | --filter-app "Designer;1CV8" — несколько раз или списком через ; |
--filter "name=рег1;рег2" (kill, closed) | --filter-name "рег1;рег2" |
--mode EXCEPT | --filter-except (флаг) |
--mode ONLY, OFF, DEFAULT, ALL | убраны: ONLY — поведение по умолчанию, OFF — запуск без отбора |
--with-nolock (kill) | --no-lock |
| kill: результат не проверялся | kill повторяет завершение зависших сеансов (по умолчанию 3 попытки с паузой 3 секунды; --retry <n> или --timeout <сек>) и завершается с кодом 1, если сеансы остались |
| closed: разовая проверка | --timeout <сек> — ждать завершения, проверяя каждые 3 секунды; код возврата 1, если сеансы остались |
| Секции настроек не было | общие ключи в vrunner.cluster (ras, rac, db-name, cluster-admin, cluster-pwd) действуют для всех команд группы |
Администратор кластера задаётся --cluster-admin/--cluster-pwd (VRUNNER_CLUSTERADMIN_USER/VRUNNER_CLUSTERADMIN_PWD), кластер — --cluster или --cluster-name: Общие опции.
Пример
Было (2.x):
vrunner session lock \
--ras localhost:1545 \
--db MyInfobase \
--db-user Администратор \
--db-pwd secret \
--uccode MySecretCode \
--lockmessage "База закрыта на обслуживание"
vrunner session kill \
--ras localhost:1545 \
--db MyInfobase \
--db-user Администратор \
--db-pwd secret \
--filter "appid=Designer|name=регламент" \
--mode EXCEPTСтало (3.0):
vrunner cluster session lock \
--ras localhost:1545 \
--db-name MyInfobase \
--db-user Администратор \
--db-pwd secret \
--uccode MySecretCode \
--denied-message "База закрыта на обслуживание"
vrunner cluster session kill \
--ras localhost:1545 \
--db-name MyInfobase \
--db-user Администратор \
--db-pwd secret \
--filter-app Designer \
--filter-name регламент \
--filter-exceptОбщие параметры кластера в autumn-properties.json:
{
"vrunner": {
"cluster": {
"ras": "localhost:1545",
"db-name": "MyInfobase",
"cluster-admin": "ClusterAdmin",
"cluster-pwd": "adminpwd"
}
}
}Файл настроек и переменные окружения
В 3.0 изменились имя и формат файла настроек и префикс переменных окружения. Формат 3.0 описан на странице Файл настроек.
Скрипт конвертации
Скрипт tools/migrate26to30.os входит в пакет vanessa-runner (в установленном пакете: <каталог библиотек OneScript>/vanessa-runner/tools/migrate26to30.os):
oscript tools/migrate26to30.os --input vrunner.json --output autumn-properties.jsonБез параметров читает vrunner.json и пишет autumn-properties.json в текущем каталоге. Что делает:
- убирает префикс
--у ключей и раскладывает секции команд по иерархии 3.0 (таблица ниже); - переименовывает ключи
inputPath→src,outputPath→out,extensionName→extension-name,pathvanessa→bddrunner-path,testsPath→testspath; - у значений
modeвsyntax-checkубирает ведущий дефис (-ThinClient→ThinClient); - в
updatedbзаменяет флаги--v1/--v2ключомrtype; - предупреждает об устаревшем ключе
--reportxunit.
Секции init-dev, update-dev, init-project и неизвестные секции не конвертируются: скрипт выводит предупреждение и завершается с кодом 1. Остальные ключи переносятся как есть, поэтому опции, переименованные в 3.0 (path → feature-path у vanessa, in → cf-file у decompile), правятся вручную — см. страницы команд.
Формат
| 2.x | 3.0 | |
|---|---|---|
| Имя файла | vrunner.json | autumn-properties.json |
| Ключ опции | "--ibconnection" | "ibconnection" |
| Общие настройки | секция default | корень vrunner |
| Настройки команды | секция xunit | вложенный объект vrunner.test.xunit |
| Позиционный аргумент | testsPath, --out | имя аргумента в нижнем регистре: testspath, out |
Ключ в корне vrunner действует для всех команд, ключ в объекте команды — только для неё и её подкоманд.
Маппинг секций
| Секция 2.x | Путь 3.0 |
|---|---|
default | vrunner |
xunit | vrunner.test.xunit |
vanessa | vrunner.test.vanessa |
syntax-check | vrunner.validate.syntax-check |
compile, compileconf | vrunner.cf.compile |
decompile, decompileconf | vrunner.cf.decompile |
compileepf | vrunner.epf.compile |
decompileepf | vrunner.epf.decompile |
compileext | vrunner.cfe.compile |
decompileext | vrunner.cfe.decompile |
updatedb | vrunner.infobase.update |
update | vrunner.cf.vendor-update |
run | vrunner.run.enterprise |
loadrepo | vrunner.repo.load |
designer | vrunner.run.designer |
init-dev, update-dev, init-project | не конвертируются: init-dev, init-project |
Пример
Было (vrunner.json):
{
"default": {
"--ibconnection": "/F./build/ib",
"--v8version": "8.3.24"
},
"xunit": {
"testsPath": "./tests",
"--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}"
},
"syntax-check": {
"--groupbymetadata": true,
"--mode": ["-ThinClient", "-Server"]
},
"updatedb": {
"--uccode": "godModeOn",
"--v2": true
}
}Стало (autumn-properties.json):
{
"vrunner": {
"ibconnection": "/F./build/ib",
"v8version": "8.3.24",
"test": {
"xunit": {
"testspath": "./tests",
"reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}"
}
},
"validate": {
"syntax-check": {
"groupbymetadata": true,
"mode": ["ThinClient", "Server"]
}
},
"infobase": {
"update": {
"uccode": "godModeOn",
"rtype": "v2"
}
}
}
}Переменные окружения
Префикс RUNNER_ заменён на VRUNNER_. Обновите переменные в CI-файлах и скриптах сборки. Полный список переменных 3.0 — Переменные окружения.
| 2.x | 3.0 |
|---|---|
RUNNER_IBNAME (строка подключения) | VRUNNER_IBCONNECTION |
RUNNER_DBUSER | VRUNNER_DBUSER |
RUNNER_DBPWD | VRUNNER_DBPWD |
RUNNER_uccode | VRUNNER_UCCODE |
RUNNER_v8version | VRUNNER_V8VERSION |
RUNNER_VANESSASETTINGS | VRUNNER_VANESSASETTINGS |
RUNNER_PATHVANESSA | VRUNNER_PATHVANESSA |
RUNNER_WORKSPACE | VRUNNER_WORKSPACE |
RUNNER_TESTSPATH | VRUNNER_TESTSPATH |
RUNNER_PATHXUNIT | VRUNNER_PATHXUNIT |
RUNNER_CONFIG_TESTS | VRUNNER_CONFIG_TESTS |
RUNNER_storage_name | VRUNNER_STORAGE_NAME |
RUNNER_storage_user | VRUNNER_STORAGE_USER |
RUNNER_storage_pwd | VRUNNER_STORAGE_PWD |
VRUNNER_IBNAME в 3.0 — имя базы в кластере (--db-name) для команд cluster, а не строка подключения.
Опция --settings
--settings <файл> (VRUNNER_SETTINGS) сохранена, но файл читается в формате autumn-properties.json. Порядок применения файлов, переменных окружения и командной строки — Каскад приоритетов. Аналог env.json — локальный файл, на который проектный autumn-properties.json ссылается ключом settings: Опция settings.
vrunner syntax-check
Синтаксическая проверка конфигурации конфигуратором. В 3.0 — vrunner validate syntax-check: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner syntax-check | vrunner validate syntax-check |
--mode "-ThinClient" "-Server" (значения с дефисом) | --mode ThinClient --mode Server (без дефиса, опция повторяется) |
--groupbymetadata true | --groupbymetadata (флаг) |
--exception-file <файл> | без изменений |
--junitpath <файл> | устарела; --report-format junit --report-path <файл> — Отчёты |
--allure-results <каталог> (Allure 1, XML) | --report-format allure --report-path <каталог> (Allure 2, JSON); --allure-results работает, но устарела и пишет Allure 2 |
--allure-results2 <каталог> | убрана; --report-format allure --report-path <каталог> |
Область проверки: основная конфигурация; расширения — режимом -AllExtensions | По умолчанию конфигурация и все расширения; --target main, --target AllExtensions или --target <имя> сужают область |
Секция настроек syntax-check | vrunner.validate.syntax-check; дефисы в mode скрипт конвертации убирает |
Значение --mode с ведущим дефисом в 3.0 воспринимается как неизвестная опция. Несколько форматов отчёта: --report-format junit --report-format allure --report-path ./build/reports — путь становится каталогом.
Пример
Было (2.x):
vrunner syntax-check \
--ibconnection /F./build/ib \
--groupbymetadata true \
--exception-file ./syntax-check-exceptions.txt \
--junitpath ./build/syntax.xml \
--mode "-ExtendedModulesCheck" "-ThinClient" "-Server"Стало (3.0):
vrunner validate syntax-check \
--ibconnection /F./build/ib \
--groupbymetadata \
--exception-file ./syntax-check-exceptions.txt \
--report-format junit \
--report-path ./build/syntax.xml \
--mode ExtendedModulesCheck \
--mode ThinClient \
--mode ServerФайл настроек — было (vrunner.json):
{
"syntax-check": {
"--groupbymetadata": true,
"--exception-file": "./syntax-check-exceptions.txt",
"--mode": ["-ExtendedModulesCheck", "-ThinClient", "-Server"]
}
}Стало (autumn-properties.json):
{
"vrunner": {
"validate": {
"syntax-check": {
"groupbymetadata": true,
"exception-file": "./syntax-check-exceptions.txt",
"report-format": ["junit"],
"report-path": "./build/syntax.xml",
"mode": ["ExtendedModulesCheck", "ThinClient", "Server"]
}
}
}
}vrunner update
Обновление конфигурации на поддержке из файла поставщика (.cf/.cfu, команда конфигуратора /UpdateCfg). В 3.0 — vrunner cf vendor-update: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner update | vrunner cf vendor-update |
--src (-s), шаблон $version в имени файла | без изменений; из нескольких подходящих файлов берётся старшая версия |
--update-settings, --IncludeObjectsByUnresolvedRefs, --ClearUnresolvedRefs, --DumpListOfTwiceChangedProperties, --force | без изменений |
Обновление конфигурации БД отдельной командой updatedb | выполняется сразу после обновления; отключается флагом --no-update-db; режим реструктуризации — --rtype, --dynamic |
Секция настроек update | vrunner.cf.vendor-update |
Пример
Было (2.x):
vrunner update \
--src './updates/1cv8_$version.cfu' \
--update-settings ./update-settings.xml \
--ibconnection /F./build/ib \
--force
vrunner updatedb --ibconnection /F./build/ibСтало (3.0):
vrunner cf vendor-update \
--src './updates/1cv8_$version.cfu' \
--update-settings ./update-settings.xml \
--ibconnection /F./build/ib \
--forceФайл настроек — было (vrunner.json):
{
"update": {
"--src": "./updates/1cv8_$version.cfu",
"--update-settings": "./update-settings.xml"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"cf": {
"vendor-update": {
"src": "./updates/1cv8_$version.cfu",
"update-settings": "./update-settings.xml"
}
}
}
}vrunner updatedb
Обновление конфигурации БД. В 3.0 — vrunner infobase update: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner updatedb | vrunner infobase update |
--v1 / --v2 (флаги) | --rtype v1 / --rtype v2; без опции режим реструктуризации не передаётся платформе |
--ibconnection, --db-user, --db-pwd, --v8version, --uccode | без изменений |
Секция настроек updatedb, ключи --v1/--v2 | vrunner.infobase.update, ключ rtype (скрипт конвертации переносит) |
По умолчанию обновляются основная конфигурация и все расширения; --target main или --target <имя расширения> сужает область.
Пример
Было (2.x):
vrunner updatedb \
--ibconnection /F./build/ib \
--uccode godModeOn \
--v2Стало (3.0):
vrunner infobase update \
--ibconnection /F./build/ib \
--uccode godModeOn \
--rtype v2Файл настроек — было (vrunner.json):
{
"updatedb": {
"--uccode": "godModeOn",
"--v2": true
}
}Стало (autumn-properties.json):
{
"vrunner": {
"infobase": {
"update": {
"uccode": "godModeOn",
"rtype": "v2"
}
}
}
}vrunner vanessa
Запуск BDD-тестов Vanessa-ADD (bddRunner.epf). В 3.0 — vrunner test vanessa: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner vanessa | vrunner test vanessa |
--path <путь к фичам> | --feature-path <путь> |
--pathvanessa <bddRunner.epf> | --bddrunner-path <путь> |
--vanessasettings, --workspace, --tags-ignore, --tags-filter, --additional-keys, --additional | без изменений |
RUNNER_VANESSASETTINGS, RUNNER_WORKSPACE, RUNNER_PATHVANESSA | VRUNNER_VANESSASETTINGS, VRUNNER_WORKSPACE, VRUNNER_PATHVANESSA |
Секция настроек vanessa | vrunner.test.vanessa; ключ pathvanessa скрипт конвертации переименовывает в bddrunner-path, path → feature-path — вручную |
--feature-path несовместима с --ordinaryapp. Отчёты о результатах: --report-format/--report-path — Отчёты.
Пример
Было (2.x):
vrunner vanessa \
--ibconnection /F./build/ib \
--vanessasettings ./tools/vb-conf.json \
--workspace . \
--path ./featuresСтало (3.0):
vrunner test vanessa \
--ibconnection /F./build/ib \
--vanessasettings ./tools/vb-conf.json \
--workspace . \
--feature-path ./featuresФайл настроек — было (vrunner.json):
{
"vanessa": {
"--vanessasettings": "./tools/vb-conf.json",
"--workspace": ".",
"--path": "./features"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"test": {
"vanessa": {
"vanessasettings": "./tools/vb-conf.json",
"workspace": ".",
"feature-path": "./features"
}
}
}
}vrunner xunit
Запуск модульных тестов xUnitFor1C (xddTestRunner.epf). В 3.0 — vrunner test xunit <TESTSPATH>: документация.
Соответствие
| 2.x | 3.0 |
|---|---|
vrunner xunit <путь> [опции] | vrunner test xunit [опции] <TESTSPATH> — опции до пути к тестам |
--reportsxunit "ГенераторОтчетаJUnitXML{путь}" | --report-format junit --report-path <путь> — Отчёты. --reportsxunit работает, но устарела; кроме имён генераторов принимает краткие форматы junit, allure, json, mxl, genericexecution |
--reportxunit <каталог> | устарела; --report-format junit --report-path <путь> |
--pathxunit, --workspace, --xddExitCodePath, --xddConfig, --testclient, --config-tests | без изменений |
$addRoot/tests/smoke | без изменений; $addRoot — каталог установки vanessa-add |
RUNNER_TESTSPATH, RUNNER_PATHXUNIT, RUNNER_CONFIG_TESTS | VRUNNER_TESTSPATH, VRUNNER_PATHXUNIT, VRUNNER_CONFIG_TESTS |
Секция настроек xunit, ключ testsPath | vrunner.test.xunit, ключ testspath (скрипт конвертации переименовывает) |
Несколько форматов за один прогон: --report-format junit --report-format allure --report-path ./build/reports — путь становится каталогом.
Пример
Было (2.x):
vrunner xunit ./tests \
--ibconnection /F./build/ib \
--reportsxunit "ГенераторОтчетаJUnitXML{build/junit.xml}"Стало (3.0):
vrunner test xunit \
--ibconnection /F./build/ib \
--report-format junit \
--report-path ./build/junit.xml \
./testsФайл настроек — было (vrunner.json):
{
"xunit": {
"testsPath": "./tests",
"--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure}",
"--xddExitCodePath": "build/xddExitCodePath.txt"
}
}Стало (autumn-properties.json):
{
"vrunner": {
"test": {
"xunit": {
"testspath": "./tests",
"report-format": ["junit", "allure"],
"report-path": "./build/reports",
"xddExitCodePath": "build/xddExitCodePath.txt"
}
}
}
}В POSIX-оболочках $addRoot экранируйте, чтобы макрос дошёл до vrunner: vrunner test xunit --ibconnection /F./build/ib '$addRoot/tests/smoke'.
Файл настроек (autumn-properties.json)
Значения опций и аргументов команд можно задавать в файле autumn-properties.json в рабочем каталоге, из которого запускается vrunner (как правило, корень проекта). Всё, что в нём задано, подставляется в незаполненные опции команды.
Формат файла
Ключи лежат в секции vrunner. Ключ - имя опции из справки команды без -- (src, db-user, ibcmd); позиционный аргумент (OUT, SRC, IN, TESTSPATH) - его имя в нижнем регистре. Значения можно задавать для всех команд сразу, для группы или для конкретной команды:
{
"vrunner": {
"<опция>": "<значение>",
"<группа>": {
"<опция>": "<значение>",
"<подкоманда>": {
"<опция>": "<значение>"
}
}
}
}Поиск идёт от команды к корню: для vrunner cf compile --src проверяются vrunner.cf.compile.src, затем vrunner.cf.src, затем vrunner.src. Флаги задаются как true/false, повторяемые опции (--report-format) - массивом.
Схема для редактора
К каждому релизу прилагается JSON Schema файла настроек vrunner-settings-schema.json: она строится по опциям команд и знает все ключи, их типы и допустимые значения. Ключ $schema включает подсказки и проверку в редакторе:
{
"$schema": "https://github.com/vanessa-opensource/vanessa-runner/releases/latest/download/vrunner-settings-schema.json",
"vrunner": {
"ibconnection": "/F./build/ib"
}
}Приоритеты
От высшего к низшему:
- Аргументы и опции командной строки.
- Переменные окружения опций (
VRUNNER_*). - Файл из опции
settings(см. ниже). autumn-properties.jsonв рабочем каталоге.- Значения по умолчанию из пакета vanessa-runner.
Настройки из файлов заполняют только те опции, которые не заданы в командной строке и переменных окружения.
Опция settings
settings - глобальная опция, доступная всем командам. Задаётся в командной строке (--settings <файл> или --settings=<файл>), переменной окружения VRUNNER_SETTINGS или ключом settings на верхнем уровне секции vrunner (внутри групп и команд ключ не действует). Значение - путь к ещё одному файлу с теми же ключами; он накладывается поверх autumn-properties.json рабочего каталога. Формат определяется по расширению: .json или .yaml (.yml). Относительный путь считается от рабочего каталога.
Файл, заданный в командной строке или переменной окружения, обязан существовать: иначе команда завершается ошибкой Файл настроек не найден. Файл из ключа settings необязателен: если его нет, действуют настройки проекта. Ключ settings внутри самого дополнительного файла не обрабатывается.
Локальные настройки разработчика
Проектный autumn-properties.json лежит в репозитории и одинаков у всех, а строка подключения, версия платформы, пути к EDT и Vanessa у каждого разработчика свои. Проектный файл ключом settings указывает на локальный файл, который в репозиторий не попадает:
{
"vrunner": {
"settings": "autumn-properties.local.json",
"v8version": "8.3.24",
"cf": {
"compile": {
"src": "./src",
"out": "./build/1Cv8.cf"
}
}
}
}Локальный файл содержит только личные значения:
{
"vrunner": {
"ibconnection": "/FD:/bases/MyProject",
"v8version": "8.3.25"
}
}vrunner cf compile у всех разработчиков и в CI запускается одинаково: src и out берутся из проектного файла, ibconnection и v8version - из локального; там, где локального файла нет, действуют проектные значения. Добавьте локальный файл в .gitignore:
autumn-properties.local.jsonПримеры
Подключение и платформа для всех команд
{
"vrunner": {
"ibconnection": "/FD:/bases/MyProject",
"db-user": "Администратор",
"db-pwd": "",
"v8version": "8.3.24"
}
}Настройки группы и команды
{
"vrunner": {
"ibconnection": "/F./build/ib",
"cf": {
"compile": {
"src": "./src"
}
},
"repo": {
"storage-name": "D:/repos/MyProject",
"storage-user": "StorageUser"
}
}
}storage-name и storage-user действуют для всех команд repo.
Обязательные аргументы и опции
Обязательные позиционные аргументы и опции, например extension-name у cfe decompile, тоже задаются в файле настроек. Если значение не задано ни в командной строке, ни в переменной окружения, ни в файле, команда завершается ошибкой и подсказывает ключ настройки.
{
"vrunner": {
"cf": {
"compile": {
"out": "./build/1Cv8.cf"
}
},
"test": {
"xunit": {
"testspath": "./tests"
}
}
}
}С таким файлом vrunner cf compile и vrunner test xunit запускаются без аргументов.
CI
{
"vrunner": {
"v8version": "8.3.24",
"ibcmd": true,
"test": {
"xunit": {
"testspath": "./tests",
"report-format": ["junit"],
"report-path": "./build/reports/junit.xml"
}
}
}
}Логирование
Потоки вывода
По умолчанию лог (ИНФОРМАЦИЯ - ..., ОШИБКА - ...) и данные команд идут в stdout. Ключ log-output со значением stderr переводит лог в stderr; в stdout остаются только данные команд (JSON, таблицы, списки), и их можно разбирать, не вычищая строки лога:
{
"vrunner": {
"log-output": "stderr"
}
}vrunner infobase extensions list --json --ibconnection /F./ib | jq '.[].имя'Значения: stdout (по умолчанию) и stderr. Для разового запуска ключ задаётся переменной окружения VRUNNER_LOG_OUTPUT; она сильнее файла настроек.
При stderr в терминале оба потока видны вместе, а при перенаправлении vrunner ... > out.txt в файл попадают только данные. Чтобы сохранить и лог, перенаправьте оба потока: vrunner ... > out.txt 2>&1.
Уровни
Уровень логирования задаётся в секции logos того же файла:
{
"logos": {
"logger": {
"vrunner": "DEBUG"
}
}
}Доступные уровни: DEBUG, INFO, WARN, ERROR. В отладочном логе видно, какой файл настроек применён и откуда взято значение каждой опции.
Переменные окружения
Часть опций и аргументов можно задать переменными окружения - удобно в CI, где параметры подключения нежелательно передавать в командной строке. Переменная опции показана в справке команды (vrunner <команда> --help, пометка env $VRUNNER_...).
Переменная окружения слабее аргумента командной строки и сильнее файла настроек. Флаги включаются значением true.
Подключение к ИБ
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_IBCONNECTION | --ibconnection | Строка подключения (/F<путь> или /S<сервер>\<база>) |
VRUNNER_DBUSER | --db-user | Пользователь информационной базы |
VRUNNER_DBPWD | --db-pwd | Пароль пользователя ИБ |
Платформа
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_V8VERSION | --v8version | Версия платформы 1С |
VRUNNER_UCCODE | --uccode | Код разрешения |
VRUNNER_LANGUAGE | --language | Язык платформы |
VRUNNER_LOCALE | --locale | Язык сеанса (локаль) |
СУБД
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_DBMS_TYPE | --dbms-type | Тип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase |
VRUNNER_DBMS_SERVER | --dbms-server | Адрес сервера СУБД |
VRUNNER_DBMS_BASE | --dbms-base | Имя базы данных СУБД |
VRUNNER_DBMS_USER | --dbms-user | Пользователь СУБД |
VRUNNER_DBMS_PWD | --dbms-pwd | Пароль СУБД |
Хранилище конфигурации
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_STORAGE_NAME | --storage-name | Адрес хранилища |
VRUNNER_STORAGE_USER | --storage-user | Пользователь хранилища |
VRUNNER_STORAGE_PWD | --storage-pwd | Пароль хранилища |
VRUNNER_STORAGE_VER | --storage-ver | Номер версии хранилища |
Кластер серверов
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_RAS | --ras | Адрес RAS (по умолчанию localhost:1545) |
VRUNNER_RAC | --rac | Путь к утилите rac |
VRUNNER_IBNAME | --db-name | Имя ИБ в кластере |
VRUNNER_CLUSTERADMIN_USER | --cluster-admin | Администратор кластера |
VRUNNER_CLUSTERADMIN_PWD | --cluster-pwd | Пароль администратора кластера |
Запуск клиента
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_ORDINARYAPP | --ordinaryapp | Толстый клиент: 1/true |
VRUNNER_ADDITIONAL | --additional | Дополнительные параметры запуска платформы (также run designer) |
VRUNNER_IBSRV | --ibsrv | Запускать через автономный сервер ibsrv (только файловые ИБ) |
VRUNNER_IBSRV_DIRECT | --ibsrv-direct | Прямое соединение с ibsrv вместо WS |
VRUNNER_IBSRV_DEBUG | --ibsrv-debug | Включить порт отладки ibsrv |
VRUNNER_IBSRV_ATTACH | --ibsrv-attach | Подключиться к уже запущенному ibsrv |
VRUNNER_IBSRV_PORT | --ibsrv-port | Порт ibsrv |
VRUNNER_COMMAND | --command | Параметр запуска /C (run enterprise) |
VRUNNER_EXECUTE | --execute | Внешняя обработка для запуска (run enterprise) |
Исходники и файлы
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_SRC | --src | Каталог исходников: cf compile, cf convert, cfe compile, cfe convert, epf convert, validate edt |
VRUNNER_SOURCE | --src | Источник конфигурации: infobase init, infobase update |
VRUNNER_CF_OUT | OUT | Файл .cf для cf compile |
VRUNNER_CFE_OUT | OUT | Файл .cfe для cfe compile |
VRUNNER_CF_FILE | --cf-file | Файл .cf для cf decompile |
VRUNNER_CFE_FILE | --cfe-file | Файл .cfe для cfe decompile |
VRUNNER_EXTENSION_NAME | --extension-name | Имя расширения: cfe compile, cfe decompile, cfe load, cfe unload |
EDT
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_EDT_PATH | --edt-path | Путь к 1cedtcli или каталогу установки EDT |
VRUNNER_EDT_VERSION | --edt-version | Версия EDT для выбора среди установленных |
VRUNNER_EDT_WORKSPACE | --edt-workspace | Базовый каталог рабочей области EDT |
VRUNNER_EDT_TIMEOUT | --edt-timeout | Таймаут операций 1cedtcli, сек |
VRUNNER_EDT_VMARGS | --edt-vmargs | Дополнительный JVM-аргумент для 1cedtcli |
Тестирование
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_TESTSPATH | TESTSPATH | Путь к тестам test xunit |
VRUNNER_PATHXUNIT | --pathxunit | Путь к xddTestRunner.epf |
VRUNNER_CONFIG_TESTS | --config-tests | Загружать тесты, встроенные в конфигурацию |
VRUNNER_FEATUREPATH | --feature-path | Путь к фичам test vanessa |
VRUNNER_PATHVANESSA | --bddrunner-path | Путь к bddRunner.epf |
VRUNNER_VANESSASETTINGS | --vanessasettings | Путь к настройкам Vanessa |
VRUNNER_WORKSPACE | --workspace | Папка проекта: test xunit, test vanessa, test yaxunit |
VRUNNER_YAXUNIT_CONFIG | --yaxunit-config | Готовый yaxunit.json |
VRUNNER_YAXUNIT_EXT | --ext | Расширения с тестами YAxUnit |
VRUNNER_YAXUNIT_EXITCODE | --exitcode | Файл кода возврата test yaxunit |
VRUNNER_PROJECT_PATH | --project-path | Каталог проекта для test yaxunit |
Отчёты и покрытие
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_REPORT_PATH | --report-path | Куда выгрузить отчёт (подробнее) |
VRUNNER_COVERAGE_REPORT | --coverage-report | Файл отчёта покрытия; задан - покрытие включено (подробнее) |
VRUNNER_COVERAGE_FORMAT | --coverage-format | Формат отчёта покрытия |
VRUNNER_COVERAGE_SRC | --coverage-src | Каталог исходников конфигурации для сопоставления модулей |
VRUNNER_COVERAGE_SERVER | --coverage-server | Сервер отладки [хост:]порт |
VRUNNER_COVERAGE_DBGS | --coverage-dbgs | Путь к dbgs |
VRUNNER_COVERAGE_ALIAS | --coverage-alias | Имя ИБ для сессии отладки |
VRUNNER_COVERAGE_DEBUG_PWD | --coverage-debug-pwd | Пароль сервера отладки |
VRUNNER_COVERAGE_SKIP_LINES | --coverage-skip-lines | Не рассчитывать покрываемые строки |
Устаревшие переменные отчётов продолжают работать: VRUNNER_JUNITPATH (--junitpath), VRUNNER_ALLURE_RESULTS (--allure-results), VRUNNER_REPORTSXUNIT (--reportsxunit), VRUNNER_YAXUNIT_REPORT (--report в test yaxunit), VRUNNER_EDT_REPORT (--report в validate edt). Замена - --report-format и --report-path. Формат отчёта переменной окружения не имеет.
Настройки и лог
| Переменная | Опция | Описание |
|---|---|---|
VRUNNER_SETTINGS | --settings | Путь к файлу настроек (JSON); файл обязан существовать |
VRUNNER_LOG_OUTPUT | - | Куда писать лог: stdout (по умолчанию) или stderr, см. Потоки вывода |
Ключи файла настроек через окружение
Любой ключ файла настроек можно задать переменной окружения: имя ключа в верхнем регистре, точки заменены на _. Так задаются опции, у которых нет своей переменной, например флаг --ibcmd:
export VRUNNER_IBCMD=true # vrunner.ibcmd - для всех команд
export VRUNNER_CF_COMPILE_OUT=./build/App.cf # vrunner.cf.compile.outТакая переменная действует, только если тот же ключ не задан ни в одном файле настроек: значение из файла сильнее. Для опций с дефисом в имени (db-user) используйте их собственные переменные.
Пример для CI
export VRUNNER_IBCONNECTION="/S1c-server\MyBase"
export VRUNNER_DBUSER=Admin
export VRUNNER_DBPWD=$SECRET_IB_PWD
export VRUNNER_V8VERSION=8.3.24
export VRUNNER_IBCMD=true
export VRUNNER_DBMS_TYPE=PostgreSQL
export VRUNNER_DBMS_SERVER=pg.internal
export VRUNNER_DBMS_BASE=my_db
export VRUNNER_DBMS_USER=postgres
export VRUNNER_DBMS_PWD=$SECRET_PG_PWD
vrunner infobase update --src ./build/MyApp.cf
vrunner test xunit --report-format junit --report-path ./build/reports/junit.xml ./testsУстановка
Требования
- OneScript 2.0.0 и выше.
- Платформа 1С:Предприятие 8.3 - для команд, работающих с базами, конфигуратором,
ibcmdиrac.
Установка через opm
opm install vanessa-runnerВместе с пакетом ставятся команды vrunner (синоним vanessa-runner) и vrunner-mcp (MCP-сервер); они доступны из любого каталога, как и oscript.
Проверка:
vrunner --versionКоманда выводит номер установленной версии.
Установка vanessa-add
Для test xunit и test vanessa нужны обработки Vanessa-ADD (xddTestRunner.epf, bddRunner.epf):
opm install addvrunner находит пакет в каталоге lib/add рядом с OneScript; этот же каталог подставляется в макрос $addRoot. Обработки из другого места указываются опциями --pathxunit и --bddrunner-path.
Обновление
opm update vanessa-runnerWARNING
На Windows запущенный MCP-сервер держит загруженной нативную библиотеку из каталога установки, и обновление завершается ошибкой Access to the path '...\1script_change_indexer.dll' is denied. Перед обновлением остановите сервер: отключите его в клиенте или завершите процесс oscript/vrunner-mcp, запущенный из каталога установки.
Установка из исходников
git clone https://github.com/vanessa-opensource/vanessa-runner.git
cd vanessa-runner
opm install -l
opm build .
opm install -f vanessa-runner-*.ospxopm install -l ставит зависимости в oscript_modules/, opm build . собирает пакет и попутно компилирует служебные обработки из epf/ (нужна платформа 1С). Без установки пакета vrunner запускается прямо из каталога репозитория: oscript src/main.os <команда>; служебные обработки в этом случае собираются командой oscript src/main.os epf compile -R epf.
Первые шаги
Синтаксис команд
vrunner <группа> <подкоманда> [опции] [аргумент]Опции указываются до позиционного аргумента:
# Собрать конфигурацию из исходников
vrunner cf compile --src ./src ./build/MyApp.cf
# Разобрать cf-файл в исходники
vrunner cf decompile --cf-file ./build/MyApp.cf ./src
# Создать базу и загрузить в неё конфигурацию
vrunner infobase init --src ./build/MyApp.cf --ibconnection /FD:/bases/MyApp
# Запустить xUnit-тесты
vrunner test xunit --ibconnection /FD:/bases/MyApp ./testsСписок групп и подкоманд - в справочнике команд, общие для многих команд опции (подключение к базе, --ibcmd, платформа, СУБД) - на странице Общие опции.
Справка
Справка выводится флагом --help на любом уровне:
vrunner --help
vrunner cf --help
vrunner cf compile --helpФормы vrunner help cf и vrunner cf help не работают.
База по умолчанию
Если --ibconnection не указан, infobase init создаёт файловую базу в каталоге build/ib текущего каталога, а команды обслуживания базы (infobase update, infobase extensions, cfe load) работают с ней же. Команды сборки и разборки (cf compile, cf decompile, cfe compile, epf compile) без базы создают временную. Подробнее: Общие опции.
Настройки проекта
Повторяющиеся опции выносятся в файл autumn-properties.json в каталоге проекта:
{
"vrunner": {
"ibconnection": "/FD:/bases/MyApp",
"v8version": "8.3.24",
"db-user": "Администратор"
}
}Значение из командной строки сильнее переменной окружения, а та - сильнее файла. Подробнее: Файл настроек, Переменные окружения.
Пример для CI
# 1. Создать базу из cf-файла (по умолчанию - build/ib)
vrunner infobase init --src ./build/MyApp.cf
# 2. Обновить конфигурацию базы из исходников
vrunner infobase update --src ./src
# 3. Прогнать тесты с отчётом JUnit
vrunner test xunit \
--ibconnection /F./build/ib \
--report-format junit \
--report-path ./build/reports/junit.xml \
./tests