Skip to content

Как это работает

Dmitriy Marmyshev edited this page Oct 18, 2018 · 3 revisions

Конфигурация 1С:ГитКонвертер разработана для того, чтобы:

  • выполнить первоначальную конвертацию хранилища конфигурации в репозиторий Git,
  • автоматически, по расписанию, обновлять ветку (например master) удалённого репозитория актуальным состоянием конфигурации из основного хранилища.

Эта конфигурация может одновременно конвертировать и синхронизировать несколько хранилищ конфигурации и репозиториев. Для понимания принципов её работы рассмотрим пример с единственным хранилищем конфигурации, которое синхронизируется с удалённым репозиторием.

Компьютер, на котором установлена серверная информационная база с конфигурацией 1С:ГитКонвертер, будем называть сервер 1С:ГитКонвертера. 1С:ГитКонвертер получает данные из хранилища конфигурации, преобразует их в формат EDT, и фиксирует их в локальном репозитории, который находится на сервере 1С:ГитКонвертера. Затем он отправляет эти изменения в удалённый репозиторий Git, который находится на некотором компьютере, который назовём Git-сервер. Этот удалённый репозиторий и есть "хранилище проекта" для команды разработчиков (разработчик 1 и разработчик 2).

1С:ГитКонвертер одну за другой, по очереди, читает версии конфигурации из хранилища и преобразует их. Процесс преобразования одной версии состоит из следующих этапов:

  1. Используя интерфейс командной строки 1С:Предприятия 8 в каталоге выгрузки версий создаётся информационная база, в которую из хранилища получается очередная версия.
  2. Из информационной базы эта версия выгружается в XML файлы.
  3. Используя интерфейс командной строки EDT, XML выгрузка конфигурации преобразуется в фалы внутреннего формата EDT.
  4. Файлы внутреннего формата EDT помещаются в рабочий каталог проекта, который находится в локальном каталоге Git.
  5. Командами Git'а выполняется фиксация изменений в локальном репозитории и отправка их в удалённый репозиторий.

Из этой схемы важно понять, что когда вы будете настраивать конвертацию хранилища в 1С:ГитКонвертере вам нужно будет указать два каталога:

  • Каталог выгрузки версий,
  • Локальный каталог Git.

Для оптимальной производительности важно, чтобы оба этих каталога находились на одном логическом диске. Тогда будет использоваться перемещение версий средствами операционной системы. В противном случае будет выполняться копирование данных, что может занять дополнительное время.

Также из этой схемы вы можете понять, что на сервере 1С:ГитКонвертера вам понадобится установить следующее программное обеспечение (подробнее об этом рассказывается в разделе Установка программного обеспечения на сервер 1С:ГитКонвертера):

  • Сервер и клиент 1С:Предприятия 8 для работы конфигурации 1С:ГитКонвертер,
  • Клиенты 1С:Предприятия 8 тех версий, на которых работают хранилища конфигураций, которые вы собираетесь конвертировать,
  • СУБД, поддерживаемую 1С:Предприятием 8, для хранения информационной базы 1С:ГитКонвертера,
  • EDT для преобразования XML файлов выгрузки конфигурации в формат EDT,
  • Git для фиксации изменений в локальном репозитории и отправки их в удалённый репозиторий.

Конфигурация 1С:ГитКонвертер обладает возможностями, которые вы можете использовать опционально, по желанию. Это такие возможности как:

  • Использование Git LFS - для хранения больших бинарных файлов вне репозитория; использование этой возможности позволяет ускорить операции с репозиторием.
  • Очереди выполнения - для балансировки нагрузки, создаваемой фоновыми заданиями, путём ограничения количества операций, выполняемых в каждой очереди.
  • Копии хранилища - для параллельной загрузки версий одного хранилища конфигурации.

Перед выполнением дальнейших шагов желательно сначала ознакомиться с этими возможностями, потому что, например, решение об использовании Git LFS необходимо принять до начала работы с 1С:ГитКонвертером, основываясь на размере вашего хранилища конфигурации, количестве версий в нём и наличии конфигураций поставщиков. Другие возможности вы сможете задействовать и потом, уже в процессе работы.

Clone this wiki locally