Git2reposync
No description available
Install / Use
/learn @pumbaEO/Git2reposyncREADME
Синхронизация хранилища 1С с репозиторием git
Оглавление
<!-- TOC insertAnchor:true -->- Введение
- Установка
- Требования
- Особенности
- Использование приложения
git2reposync - Использование библиотеки
git2reposync - Доработка и разработка плагинов
- Механизм подписок на события
- Сборка проекта
- Доработка
- Лицензия
<a id="markdown-введение" name="введение"></a>
Введение
Проект является форком проекта gitsync см. https://github.com/oscript-library/gitsync Проект git2reposync представляет собой:
- Библиотеку
git2reposync(src/core) - которая реализует основные классы для синхронизации хранилища git c 1С - Приложение
git2reposync(src/cmd) - консольное приложение на основе библиотекиcli
Документация и описание публичного API библиотеки
<a id="markdown-установка" name="установка"></a>
Установка
<a id="markdown-вручную" name="вручную"></a>
Вручную
- Скачать файл
git2reposync*.ospxиз раздела releases - Воспользоваться командой:
$ opm install -f <ПутьКФайлу>
- Запустить командой
git2reposync
<a id="markdown-Требования" name="Требования"></a>
Требования
- утилита
ringи `` - для синхронизации с edt проектами
<a id="markdown-особенности" name="особенности"></a>
Особенности
- обходит коммиты для синхронизации в обратном, т.е. хронологическом порядке, если указываем sha комитов списком abc1234..cbc56778, то первым коммитом для синхронизации из полученного диапазона будет cbc56778
- при синхронизации ппроверяет необходимость коммита поиском ключевого слова в списке истории хранилища
git2reposha:" + shacommit, если такая версия уже есть значит пропускаем ее - Работа с хранилищем конфигурации реализовано на основании библиотеки
v8storage - Реализована поддержка работы с
httpиtcpхранилищами - Расширяемость функционала за счет использования механизма подписок на события
<a id="markdown-описание-функциональности" name="описание-функциональности"></a>
Описание функциональности
<!-- TODO: Сделать описание функциональности -->Раздел документации в разработке
<a id="markdown-использование-приложения-git2reposync" name="использование-приложения-git2reposync"></a>
Использование приложения git2reposync
<a id="markdown-подготовка-нового-репозитория" name="подготовка-нового-репозитория"></a>
Настройка плагинов синхронизации
Данный пункт можно пропустить, если Вам не требуется дополнительная функциональность синхронизации
Для расширения функциональности синхронизации предлагается механизм плагинов. Данный механизм реализован через подписки на события синхронизации, с возможностью переопределения стандартной обработки.
Для обеспечения управления плагинами реализована подкоманда plugins, а так же ряд вложенных команд:
init- Инициализация предустановленных плагиновlist- Вывод списка плагиновenable- Активизация установленных плагиновdisable- Деактивизация установленных плагиновinstall- Установка новых плагиновclear- Очистка установленных плагиновhelp- Вывод справки по выбранным плагинам
Пример использования:
git2reposync plugins enable edt- будет активирован плагинlimitgit2reposync plugins list- будет выведен список всех активированных плагиновgit2reposync plugins list -a- будет выведен список всех установленных плагинов
Справка по команде plugins: git2reposync plugins --help
Для удобства использования команда plugins имеет короткое название p.
Больше примеров можно увидеть, использовав команду git2reposync usage plugins
Для хранения установленных плагинов и списка активных плагинов используется каталог
локальных данных приложения
Список предустановленных плагинов:
Для инициализации предустановленных плагинов необходимо выполнить команду
git2reposync plugins init
edt- обеспечивает поддержку сборки cf из edt конфигурацийrunner- обеспечивает сборку с с помощью фреймворка vanessa-runner полезно для толстых форм.
<a id="markdown-синхронизация" name="синхронизация"></a>
Синхронизация
Команда sync (синоним s) - выполняет синхронизацию хранилища 1С с git-репозиторием
Подробную справку по опциям и аргументам см.
git2reposync sync --help
<a id="markdown-справка-по-использованию-команды" name="справка-по-использованию-команды"></a>
Справка по использованию команды
Команда: sync, s
Выполняет синхронизацию хранилища git-репозиторием с 1С
Строка запуска: git2reposync sync [ОПЦИИ] PATH [WORKDIR]
Аргументы:
PATH Путь к хранилищу конфигурации 1С. (env $git2reposync_STORAGE_PATH)
WORKDIR Каталог исходников внутри локальной копии git-репозитория. (env $git2reposync_WORKDIR)
Опции:
-u, --storage-user пользователь хранилища конфигурации (env $git2reposync_STORAGE_USER) (по умолчанию Администратор)
-p, --storage-pwd пароль пользователя хранилища конфигурации (env $git2reposync_STORAGE_PASSWORD, $git2reposync_STORAGE_PWD)
-m --merge-file путь к файлу mergesettings, определяющий как будет происходить сравнение объединение в 1с,
по умолчанию в корне проекта merge.xml, пример можно найти в .\templates\mergesettingsRecursor.xml
<a id="markdown-глобальные-переменные-окружения" name="глобальные-переменные-окружения"></a>
Глобальные переменные окружения
| Имя | Описание |
| ------------------------ | --------------------------------------------------------------------------- |
| git2reposync_V8VERSION | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
| git2reposync_V8_PATH | путь к исполняемому файлу платформы 1С (Например, /opt/1C/v8.3/x86_64/1cv8) |
| git2reposync_VERBOSE | вывод отладочной информации в процессе выполнения |
| git2reposync_TEMP | путь к каталогу временных файлов |
<a id="markdown-переменные-окружения-команды" name="переменные-окружения-команды"></a>
Переменные окружения команды
| Имя | Описание |
| ------------------------------- | ------------------------------------------ |
| git2reposync_WORKDIR | рабочий каталог для команды |
| git2reposync_STORAGE_PATH | путь к хранилищу конфигурации 1С. |
| git2reposync_STORAGE_USER | пользователь хранилища конфигурации |
| git2reposync_STORAGE_PASSWORD | пароль пользователя хранилища конфигурации |
<a id="markdown-значения-по-умолчанию" name="значения-по-умолчанию"></a>
Значения по умолчанию
| | |
| ------------------ | ---------------------------- |
| WORKDIR | текущая рабочая директория |
| -u, --storage-user | пользователь Администратор |
<a id="markdown-примеры-использования" name="примеры-использования"></a>
Примеры использования
-
Простое использование
git2reposync sync C:/Хранилище_1С/ C:/GIT/srcДанная команда выполнить синхронизацию хранилища 1С по пути
C:/Хранилище_1С/и репозитория git в каталогеC:/GIT/src -
Инициализация в текущем рабочем каталоге,
переменная окружения
git2reposync_WORKDIRне должна быть заданаcd C:/work_dir/ git2reposync sync C:/Хранилище_1С/Данная команда выполнить синхронизацию хранилища 1С по пути
C:/Хранилище_1С/и репозитория git в каталогеC:/work_dir -
Инициализация в с указанием пользователя и пароля.
git2reposync sync --storage-user Admin --storage-pwd=Secret C:/Хранилище_1С/ C:/work_dir/Данная команда выполнить синхронизацию хранилища 1С по пути
C:/Хранилище_1С/и репозитория git в каталогеC:/work_dirИспользуя для подключения к хранилищу 1С пользователяAdminи парольSecret -
Использование синонимов (короткая версия предыдущего примера)
git2reposync s -uAdmin -p=Secret C:/Хранилище_1С/ C:/work_dir/Данная команда выполнить синхронизацию хранилища 1С по пути
C:/Хранилище_1С/и репозитория git в каталогеC:/work_dirИспользуя для подключения к хранилищу 1С пользователяAdminи парольSecret -
Использование конкретной исполняемого файла платформы
git2reposync --v8-path /opt/1C/v8.3/x86_64/1cv8 s -uAdmin -p=Secret C:/Хранилище_1С/ C:/work_dir/Данная команда синхронизации выполнится с использованием исполняемого файла платформы
/opt/1C/v8.3/x86_64/1cv8для хранилища 1С по путиC:/Хранилище_1С/и репозитория git в каталогеC:/work_dirИспользуя
