push
Отправьте исходники выбранного набора в базу.
Примеры ответов; пути и длительность зависят от запуска.
push --source-set main 
v8-runner push --source-set main
Загружает выбранный набор в основную конфигурацию и применяет изменения к базе данных. Без --source-set обрабатывает все наборы проекта.
Результат: Исходники загружены. Отказы и сбои — в разделе ошибок.
push
v8-runner push
Загружает все наборы проекта: основную конфигурацию, затем расширения. Применяет изменения к базе данных. Используйте, когда нужно отправить весь проект, а не один набор.
Результаты: исходники загружены или часть наборов не загружена. Остальные отказы — в разделе ошибок.
push --no-apply План
v8-runner push --no-apply
Загружает исходники в основную конфигурацию без применения к базе данных. Используйте для подготовки изменений перед окном обслуживания.
Результат: Конфигурация подготовлена. Отказы и сбои — в разделе ошибок.
push --full 
v8-runner push --full --source-set main
Отправляет выбранный каталог целиком вместо частичной загрузки; память о прошлой загрузке не определяет состав пакета. Контроль поколения базы сохраняется.
Результат: Каталог загружен целиком. Отказы и сбои — в разделе ошибок.
push --force План 
v8-runner push --force
Разрешает перезапись основной конфигурации, если база ушла вперёд или памяти обмена ещё нет. Непринятые изменения на стороне базы теряются.
Результат: Конфигурация перезаписана. Отказы и сбои — в разделе ошибок.
push --delete <ссылка> План 
v8-runner push --delete my-ext
Удаляет выбранное расширение из базы вместе с его данными. Имя указывает расширение, которое нужно удалить.
Результат: Расширение удалено. Отказы и сбои — в разделе ошибок.
push --source-set main --dry-run 
v8-runner push --source-set main --dry-run
Проверяет настройки, доступность исполнителя и подготавливает план загрузки. Платформу не запускает; базу и выходные файлы не меняет.
Результат: План загрузки. Отказы и сбои — в разделе ошибок.
Особенности исходников
- Конфигуратор
- Загружает XML-исходники в основную конфигурацию базы.
- EDT
- Сначала экспортирует проект EDT в XML, затем загружает полученные исходники в основную конфигурацию базы.
Исполнение
- Читает настройки проекта, выбирает базу и наборы исходников, проверяет исполнителя и доступ к
workPath. - Проверяет сохранённое поколение базы. План Без
--forceотказывает, если база ушла вперёд относительно сохранённого поколения или нет памяти обмена с непустой базой. Неприменённые изменения после собственногоpush --no-applyсами по себе не означают расхождения поколений. - Определяет изменённые файлы; для EDT сначала экспортирует исходники в XML.
--fullи--forceвыбирают полную загрузку. Без них она остаётся там, где нечего сравнивать или удаление нельзя подтвердить: условия. - Загружает основную конфигурацию, затем расширения. Без
--no-applyприменяет изменения к базе данных. У--deleteвместо загрузки выполняет удаление выбранного расширения. - После успешного обмена сохраняет состояние. При сбое возвращает факты уже выполненных шагов; общий откат не обещается.
- Файловая
- Агент, Конфигуратор или
ibcmdоткрывает базу по файловому пути. Исходники и рабочие файлы находятся на машине раннера. - Кластер
- Агент или Конфигуратор подключается по
connectionчерез работающий кластер. Агент выполняет команду в одной сессии. Прямое подключениеibcmdк СУБД работающего кластера не используется. - Автономный
- Конфигуратор подключается по прямому шлюзу; агент — по SSH через
standalone.gateи передаёт файлы черезexchange. Сервер запущен вне раннера и им не управляется.
С --dry-run выполняются проверки и подготовка плана, шаги загрузки и применения не исполняются. Выбранный исполнитель должен поддерживать запрошенный вариант; иначе команда отказывает до изменения базы.
Успешные результаты
Исходники загружены и применены
Для одного набора или всех наборов, если загрузка и применение завершились. База изменена; состояние обмена сохранено. Фрагмент CLI-ответа:
Build completed successfully
Изменений нет
Для обычного push, если файлы не изменились после успешного обмена и в базе нет ожидающих применения изменений. Загрузка пропущена: база не меняется. Статус шага skipped — успешный исход.
Build completed: no changes
Основная конфигурация загружена без применения
Для --no-apply. Основная конфигурация изменена; конфигурация базы данных остаётся прежней до apply. План Пример результата обмена:
origin: Srvr="srv:1541";Ref="demo"
main: отправлен
Каталог загружен целиком
Для --full. Выбранный набор загружен полностью и применён к базе данных. Фрагмент CLI-ответа:
Build completed successfully
Конфигурация перезаписана
Для --force. Исходники отправлены, непринятые изменения основной конфигурации заменены. План Пример результата обмена:
origin: Srvr="srv:1541";Ref="demo"
main: отправлен
Расширение удалено
Для --delete. Выбранное расширение и его данные удалены из базы. План Пример результата:
origin: Srvr="srv:1541";Ref="demo"
my-ext: удалён
План загрузки подготовлен
Для --dry-run. Настройки проверены; шаги показывают будущую работу. База, исходники и выходные файлы не изменены; успешный план не означает успешную загрузку. Фрагмент CLI-ответа:
Build completed successfully
Ошибки и отказы
Общие формы и диагностика парсера — в словаре ответов. Ошибка не означает откат; код выхода CLI отличается от кода внешней утилиты.
База ушла вперёд
Для обычного push, --no-apply и --full без --force. План non_fast_forward: загрузка не начата, база не изменена. Сначала получите и разберите изменения через pull; перезапись допустима только при осознанном выборе --force.
$ v8-runner push
✖ Отправка отклонена: база ушла вперёд с вашей последней выгрузки
поколение базы: 7f3a…
ваше: 2b91…
сперва выполните: v8-runner pull
Нет памяти обмена с непустой базой
Для обычного push, --no-apply и --full без --force. План untracked_base: база не изменена. pull позволяет прочитать базу; --force разрешает перезапись. Пустая база не требует прошлой памяти.
$ v8-runner push
✖ Отправка отклонена: база не пуста, а памяти о ней ещё нет
поколение базы: 7f3a…
ваше: —
посмотреть, что в базе: v8-runner pull
перезаписать базу: v8-runner push --force
Настройки или набор исходников не подходят
Для загрузки и превью, если набор отсутствует или настройки не прошли проверку. invalid_argument, выход CLI 2. Работа не начата; исправьте настройку, указанную в сообщении.
ERROR: validation error: source-set not found: main
Выбран неподходящий предмет или способ исполнения
Для загрузки и удаления расширения, если предмет или исполнитель не поддерживает вариант. subject, target или capability_unavailable, выход CLI 2. База не изменена. Пример для внешней обработки вместо конфигурации:
ERROR: capability unavailable: push requires a configuration or extension source-set
Не найдена нужная утилита
Для загрузки и превью. environment_unavailable, выход CLI 2. Подготовка остановлена до изменения базы; настройте доступный исполнитель.
ERROR: environment unavailable: Designer executable not found
Рабочий каталог занят
Для загрузки и превью, если другой вызов владеет workPath. workspace_busy, выход CLI 3. Этот запуск ничего не изменил. Дождитесь завершения владельца каталога.
ERROR: workspace busy: workPath is locked by another command
Основная конфигурация загружена, расширение не загружено
Для push без --source-set, когда выбрано несколько наборов. platform_failure, выход CLI 4. В этом примере основная конфигурация загружена, затем загрузка расширения завершилась ошибкой до применения основной конфигурации к базе данных. JSON сохраняет оба шага; applied: false означает, что применение не выполнялось. Проверьте состояние базы и журнал неуспешного шага перед повторным запуском.
Build failed
ERROR: platform error: extension load failed
Загрузка не завершилась
Для обычной загрузки и --full, если платформа завершила загрузку ошибкой до шага применения. platform_failure, выход CLI 4. Подтверждённого успешного шага нет, но это не гарантия неизменности базы; проверьте её и журнал перед повтором. Исключение — отказ операционной системы запустить ibcmd из-за длины списка файлов: загрузка не начата и база не тронута, а выход — push --full или другой исполнитель. Фрагмент CLI-ответа:
Build failed
ERROR: platform error: configuration load failed
Выполнение отменено или истёк срок
Для загрузки, --full, --force и удаления после начала исполнения. cancelled или timed_out, выход CLI 4. Завершённые шаги сохраняются в ответе; незавершённый шаг не доказывает, что база осталась прежней. Сначала проверьте её состояние. В этом примере таймаут прервал загрузку до начала применения:
Build failed
ERROR: timed out: configuration load timed out