Механизм транспорта изменений работает на основе одноименного расширения платформы, связывающего платформу с GitLab - веб-платформой для управления проектами и репозиториями программного кода. Связь при переносе файлов производится через планировщик платформы, работающий на отдельном стенде. Файлы, связанные с отдельными изменениями в GitLab, хранятся в Sonatype Nexus.
Для настройки механизма транспорта изменений смотрите статью «Настройка инфраструктуры для транспорта изменений».
Для ознакомления с базовым сценарием работы с транспортом изменений смотрите статью «Использование транспорта изменений».
В текущей документации описан механизм транспорта изменений между тремя контурами системы:
DEV. Контур разработки;
TEST. Контур тестирования;
PROD. Контур промышленной эксплуатации.
При необходимости имеется возможность масштабирования под большее количество контуров.
Для работы механизма транспорта изменений необходимо:
в репозитории каждого контура DEV, TEST, PROD должны быть установлены расширения:
Component DEF.updpack. «Интерактивные формы ввода данных»;
Component TS.updpack. «Транспорт изменений»;
Component DBA.updpack. «Конструктор бизнес-приложений»;
в каждом контуре DEV, TEST, PROD должны быть развернуты веб-приложение «Форсайт. Аналитическая платформа» для настройки объектов транспорта изменений и бизнес-приложение для работы конечных пользователей с объектами транспорта изменений:


должны быть настроены планировщики задач для выполнения задач транспорта изменений в репозиториях каждого контура DEV, TEST, PROD;
компонент транспорта изменений в репозиториях контуров DEV, TEST, PROD должен быть настроен на соответствующую ветку Git, для отправки описания сформированных изменений;
предварительно в GitLab должен быть настроен проект, содержащий необходимые ветки, между которыми передаются изменения, и из которых изменения запрашиваются планировщиком. Должно быть настроено файловое хранилище Sonatype Nexus для хранения pefx файлов.

Алгоритм взаимодействия элементов контуров:
Разработчик открывает «Форсайт. Аналитическая платформа» в репозитории контура DEV и c помощью инструмента «Менеджера обновлений» формирует файл обновления.
Разработчик переходит в бизнес-приложение в репозитории контура DEV и с помощью формы ввода «Редактирование журнала изменений» создает набор изменений (выбирает сформированный в п.1 файл обновления) в рамках выбранного журнала изменений. Далее по нажатию кнопки «Опубликовать изменения» в форме ввода разработчик выполняет публикацию созданного набора.
При выполнении публикации набора изменений планировщик DEV контура выполняет отправку описания набора изменений в ветку TEST в GIT-репозиторий и сохраняет файл обновления в Хранилище больших файлов.
Планировщик контура TEST выполняет синхронизацию с веткой TEST в GIT-репозитории.
Тестировщик переходит в бизнес-приложение в репозитории контура TEST и открывает форму ввода «Установка журнала изменений». В форме отображаются найденные наборы изменений выбранного журнала изменений, полученные в результате синхронизации с веткой TEST.
Тестировщик с помощью формы ввода «Установка журнала изменений» запускает установку выбранного набора изменений в репозиторий контура TEST. С помощью планировщика контура TEST выполняется установка файла обновлений из Хранилища больших файлов, соответствующего набору изменений.
Тестировщик проверяет корректность установленного обновления в репозитории контура TEST.
Если обновление установлено корректно, тестировщик с помощью формы ввода «Установка журнала изменений» создает метку и тем самым инициирует процесс переноса описания набора изменений из ветки TEST в ветку PROD.
Планировщик контура TEST формирует в GitLab запрос на слияние изменений ветки TEST в ветку PROD.
Ответственный за согласование внесения изменений подтверждает слияние в GitLab.
Планировщик контура PROD выполняет синхронизацию с веткой PROD в GIT-репозитории.
Специалист по сопровождению переходит в бизнес-приложение в репозитории контура PROD и открывает форму ввода «Установка журнала изменений». В форме отображаются найденные наборы изменений выбранного журнала изменений, полученные в результате синхронизации с веткой PROD.
Специалист по сопровождению с помощью формы ввода «Установка журнала изменений» запускает установку выбранного набора изменений в репозиторий контура PROD. С помощью планировщика контура PROD выполняется установка файла обновлений из Хранилища больших файлов, соответствующего набору изменений.
См. также:
Транспорт изменений | Настройка инфраструктуры для транспорта изменений