«1С:ГитКонвертер»

Общие сведения о конфигурации

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

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

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

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

Затем он отправляет эти изменения в удаленный репозиторий Git, который находится на некотором компьютере, который назовем Git-сервер. Этот удаленный репозиторий и есть «хранилище проекта» для команды разработчиков (разработчик 1 и разработчик 2).

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

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

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

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

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

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

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

Git LFS

Git Large File Storage (LFS) это расширение Git, предназначенное для версионирования больших файлов. Git LFS заменяет большие файлы (аудио, видео, наборы данных или графические файлы) текстовыми указателями внутри Git, в то время как само содержимое этих файлов сохраняется на удаленном сервере, таком как GitHub.com или GitHub Enterprise.

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

Мы рекомендуем использовать Git LFS в тех ситуациях, когда:

Большинство серверов Git (например, GitLab, GitHub, BitBucket) поддерживают Git LFS. Нужно только включить его использование для вашего проекта.

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

Установка и настройка Git LFS описана в документации 1С:ГитКонвертера в разделе Git LFS.

Очереди выполнения

Очереди позволяют ограничить количество операций, выполняемых фоновыми заданиями. Различается два вида операций: операции выгрузки конфигурации и операции загрузки метаданных.

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

Необходимость использования очередей может возникнуть по двум причинам.

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

Во-вторых, очереди понадобятся вам в том случае, если вы конвертируете большую конфигурацию и для ускорения процесса хотите использовать не полную выгрузку конфигурации, а выгрузку только изменений — инкрементальную выгрузку конфигурации (такая возможность есть в платформе 1С:Предприятие начиная с версии 8.3.10).

Настройка

Чтобы очереди выполнения стали доступны, установите флажок Сервис > Использовать очереди выполнения > Использовать очереди выполнения.

Список очередей выполнения доступен из формы любого хранилища конфигурации по ссылке Очереди выполнения.

Если очередь общая, то выбор версий для обработки выполняется по дате версии. Это следует учитывать при конвертации проектов с длинной историей и более «молодых» проектов в одной базе 1С:ГитКонвертера.

Если очередь для хранилища, то для каждого хранилища конфигурации вам необходимо создать как минимум две очереди:

  • Выгрузка конфигурации. Начиная с версии 8.3.10 платформы 1С:Предприятие вы можете использовать выгрузку изменений. Для этого необходимо выгружать версии строго последовательно и поэтому не рекомендуется создавать более одной очереди на выгрузку;
  • Загрузка метаданных.

Для каждой очереди вам следует указать количество операций (версий конфигурации), которые будут обрабатываться за один запуск. Кроме этого вы можете указать диапазон версий, для разграничения «рабочей зоны» между разными очередями, а также расписание запуска.

Копии хранилища

Копии хранилища позволяют ускорить получение версий из хранилища за счет распараллеливания этого процесса.

Копии хранилища могут понадобиться вам, например, при конвертации больших конфигураций. В этом случае получение версии из хранилища может занимать значительное количество времени, в течение которого ресурсы, занятые выгрузкой и конвертацией в формат 1C:EDT, будут простаивать.

Настройка

Список копий хранилища доступен из формы хранилища конфигурации по ссылке Копии хранилищ конфигурации.

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

Количество копий влияет на размер создаваемого глобального кэша версий на сервере хранилища конфигурации. Поэтому размер кэша необходимо настроить.

Для этого откройте в Конфигураторе информационную базу, подключенную к этому хранилищу, и укажите размер глобального кэша (Конфигурация > Хранилище конфигурации > Администрирование хранилища... > Прочие > Глобальный кэш версий конфигурации).

Выберите максимальный размер кэша в 1,5 — 2 раза больше, чем:

<размер одной версии в Мб> * <количество копий хранилища>

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

Укажите расписание получения версий из этой копии. Если в копии указан адрес основного хранилища, вам необходимо в расписании учесть возможность работы разработчиков с хранилищем: запуски на получение выполнять с промежутками, обеспечивающими комфортную работу разработчиков.