v8-runner

push

Отправьте исходники выбранного набора в базу.

Вывод

Примеры ответов; пути и длительность зависят от запуска.

push --source-set main Используется в Unica 0.13

v8-runner push --source-set main

Загружает выбранный набор в основную конфигурацию и применяет изменения к базе данных. Без --source-set обрабатывает все наборы проекта.

Результат: Исходники загружены. Отказы и сбои — в разделе ошибок.

push

v8-runner push

Загружает все наборы проекта: основную конфигурацию, затем расширения. Применяет изменения к базе данных. Используйте, когда нужно отправить весь проект, а не один набор.

Результаты: исходники загружены или часть наборов не загружена. Остальные отказы — в разделе ошибок.

push --no-apply План

v8-runner push --no-apply

Загружает исходники в основную конфигурацию без применения к базе данных. Используйте для подготовки изменений перед окном обслуживания.

Результат: Конфигурация подготовлена. Отказы и сбои — в разделе ошибок.

push --full Используется в Unica 0.13

v8-runner push --full --source-set main

Отправляет выбранный каталог целиком вместо частичной загрузки; память о прошлой загрузке не определяет состав пакета. Контроль поколения базы сохраняется.

Результат: Каталог загружен целиком. Отказы и сбои — в разделе ошибок.

push --force План Используется в Unica 0.13

v8-runner push --force

Разрешает перезапись основной конфигурации, если база ушла вперёд или памяти обмена ещё нет. Непринятые изменения на стороне базы теряются.

Результат: Конфигурация перезаписана. Отказы и сбои — в разделе ошибок.

push --delete <ссылка> План Используется в Unica 0.13

v8-runner push --delete my-ext

Удаляет выбранное расширение из базы вместе с его данными. Имя указывает расширение, которое нужно удалить.

Результат: Расширение удалено. Отказы и сбои — в разделе ошибок.

push --source-set main --dry-run Используется в Unica 0.13

v8-runner push --source-set main --dry-run

Проверяет настройки, доступность исполнителя и подготавливает план загрузки. Платформу не запускает; базу и выходные файлы не меняет.

Результат: План загрузки. Отказы и сбои — в разделе ошибок.

Особенности исходников

Конфигуратор
Загружает XML-исходники в основную конфигурацию базы.
EDT
Сначала экспортирует проект EDT в XML, затем загружает полученные исходники в основную конфигурацию базы.

Исполнение

  1. Читает настройки проекта, выбирает базу и наборы исходников, проверяет исполнителя и доступ к workPath.
  2. Проверяет сохранённое поколение базы. План Без --force отказывает, если база ушла вперёд относительно сохранённого поколения или нет памяти обмена с непустой базой. Неприменённые изменения после собственного push --no-apply сами по себе не означают расхождения поколений.
  3. Определяет изменённые файлы; для EDT сначала экспортирует исходники в XML. --full и --force выбирают полную загрузку. Без них она остаётся там, где нечего сравнивать или удаление нельзя подтвердить: условия.
  4. Загружает основную конфигурацию, затем расширения. Без --no-apply применяет изменения к базе данных. У --delete вместо загрузки выполняет удаление выбранного расширения.
  5. После успешного обмена сохраняет состояние. При сбое возвращает факты уже выполненных шагов; общий откат не обещается.
Файловая
Агент, Конфигуратор или 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

Настройка исполнителей и конфигурации проекта.