Документация 0.4

Перенос между средами

В тестовом оркестраторе созданы ресурсы, очереди, расписания и отчёты; их нужно перенести в препрод, а потом в прод — одним действием и со своими значениями среды (адрес test-1c.local в тесте, prod-1c.local в проде). Для этого — «Администрирование» → «Перенос». Переносить могут владелец области и администратор.

«Перенос» → «Выгрузка»: виды объектов, режим учётных данных и пароль файла
«Перенос» → «Выгрузка»: виды объектов, режим учётных данных и пароль файла

Что переносится #

Вид Что именно
«Ресурсы» Общие значения и значения роботов; учётные данные — по выбору
«Очереди» Настройки, без элементов
«Элементы очередей» Новые элементы, до 10 000 на очередь — отдельный флажок
«Расписания и триггеры очередей» С календарём, аргументами и роботами
«Календари» Производственные календари; создать или изменить их на цели может только администратор
«Отчёты» Определения отчётов (без записей)
«Сохранённые запросы», «Рассылки», «Проверки данных», «Загрузки в очередь» Автоматизация отчётов
«Правила оповещений» Правила области
«Настройки процессов» Настройки запуска, ручная работа и „Сопровождение“ паспорта
«Процессы с версиями» Пакеты .tpkg текущих версий

Ссылки между объектами — по именам (процесс, очередь, ресурс, робот, календарь, ключ отчёта, запрос, логин пользователя), а не по внутренним идентификаторам, поэтому файл подходит к другому серверу.

Выгрузка #

  1. «Перенос» → «Выгрузка», выберите «Область».
  2. «Что выгрузить» — флажки видов; «Только эти объекты» — имена через запятую или с новой строки (пусто — все объекты вида).
  3. «Учётные данные»: «не выгружать», «только логины (без паролей)» или «с паролями (зашифрованы паролем файла)».
  4. Для паролей задайте «Пароль файла» и «Пароль ещё раз» — не короче 12 символов. Сервер его нигде не хранит: сообщите пароль тому, кто будет загружать файл, отдельно от файла.
  5. «Выгрузить .tbundle».

Файл .tbundle — zip: manifest.json (сервер и область-источник, версия, когда и кто выгрузил, состав, SHA-256 каждой части), objects/*.json, packages/*.tpkg и secrets.bin. Пароли лежат только в secrets.bin, зашифрованные паролем файла (AES-256-GCM, ключ PBKDF2-SHA512, 600 000 итераций).

Загрузка с предпросмотром #

  1. На целевом сервере: «Перенос» → «Загрузка».

  2. «Файл переноса (.tbundle)», «Пароль файла» (если в файле есть пароли), «Целевая область» → «Прочитать файл». Сервер проверяет целостность и пароль до того, как что-то показать; неверный пароль, изменённый или чужой файл — отказ без изменений.

  3. Сопоставление роботов. Значения ресурсов для роботов и роботы расписаний переносятся на роботов целевой области: по имени сами («по имени»), вручную — выбором в «Робот целевой области» или «— не переносить —».

  4. Подстановки среды. «Найти» → «Заменить на» в текстовых значениях ресурсов и в логинах, например test-1c.local → prod-1c.local. «Значения в файле» подсказывают, что можно заменить: щелчок добавляет значение в «Найти». «Сохранить как профиль среды» запомнит подстановки для следующих переносов; «Профиль среды» применит сохранённые.

  5. Объекты файла — таблица по видам. «Сравнение» для каждого объекта:

    Статус Что значит
    «новый» На цели такого объекта нет
    «совпадает» На цели то же самое — ничего не изменится
    «отличается» «Различия» поле за полем: „Пауза перед повтором, с: 30 → 60“; пароли — только „изменено“
    «конфликт» Перенести нельзя: ресурс другого типа, процесс из другого flow, версия с тем же номером и другим содержимым, нет нужного процесса, очереди или календаря
  6. «Политика по умолчанию» и политика каждого объекта: «создать» (только новые), «обновить» (новые создать, отличающиеся изменить), «пропустить», «создать с новым именем». Фильтр «Только новые, отличия и конфликты» скрывает совпадающие объекты.

  7. После смены сопоставления или подстановок нажмите «Сравнить заново».

  8. «Проверить» — сервер выполняет всю загрузку и откатывает её: так видны ошибки, которые не видны в сравнении.

  9. «Загрузить» — всё одной транзакцией: если хоть один объект не загружается, не меняется ничего. Пакеты процессов проверяются и сохраняются до неё.

«Перенос» → «Загрузка»: файл переноса, пароль файла и целевая область
«Перенос» → «Загрузка»: файл переноса, пароль файла и целевая область

«Результат переноса» — создано, обновлено, без изменений, пропущено по каждому объекту и «Отчёт о переносе (XLSX)». Каждый объект попадает в аудит обычным действием (создан ресурс, изменено расписание, опубликован процесс) со ссылкой на перенос. Расписания получают следующий запуск от планировщика цели.

Профили сред и история #

  • «Профили сред» — подстановки, сохранённые для области: например, профиль „Прод“ с заменами адресов 1С, портала банка и папок. «Создать профиль», «Изменить», «Удалить».
  • «История» — все переносы в область: когда, кто, способ (файл, копирование, командная строка), источник, итог и отчёт XLSX.

Копирование между областями #

Внутри одного сервера файл не нужен:

  • «Ресурсы» или «Очереди» → флажки в строках → «Копировать в область…» → «Целевая область» (и «Учётные данные — с паролями») → «Сравнить» → «Копировать». Нужно право переноса в обеих областях; выбранные объекты — из одной области.
  • «Создать копию» в меню ресурса — копия одного ресурса в той же или другой области (хватает права изменять ресурсы).

Командная строка и API #

Для сценариев выкладки (CI) — команды сервера на машине оркестратора; служба может работать:

# выгрузка на тестовом сервере (пароль файла — первой строкой стандартного ввода)
"Пароль-файла-2026" | Tulpar.Orchestrator.exe transfer export --workspace "Бухгалтерия" --out D:\deploy\buh.tbundle `
    --include all --credentials secrets --password-stdin

# на проде: сначала проверка, затем загрузка с профилем среды „Прод“
"Пароль-файла-2026" | Tulpar.Orchestrator.exe transfer import --workspace "Бухгалтерия" --in D:\deploy\buh.tbundle `
    --profile "Прод" --policy update --password-stdin --dry-run
"Пароль-файла-2026" | Tulpar.Orchestrator.exe transfer import --workspace "Бухгалтерия" --in D:\deploy\buh.tbundle `
    --profile "Прод" --policy update --password-stdin
Параметр Значения
--include Виды через запятую: assets, queues, queueItems, triggers, calendars, reports, queries, deliveries, qualityRules, queueLoads, alertRules, processSettings, processes — или all (всё, кроме элементов очередей)
--credentials none, logins (по умолчанию) или secrets (нужен пароль файла)
--policy create, update (по умолчанию), skip, rename
--profile Профиль среды целевой области
--dry-run Проверка без изменений

Код выхода: 0 — выполнено, 1 — не выполнено (причина напечатана, ничего не изменено), 2 — неверная командная строка. В аудите действия команд записаны от имени „Командная строка“. В Docker команда запускается так: docker compose exec -T orchestrator dotnet Tulpar.Orchestrator.dll transfer ….

Через API — POST /api/v1/transfer/export, /transfer/preview, /transfer/import с токеном «Полный доступ» (см. API).