Данное решение я постарался сделать максимально простым в настройки, по факту нужно два действия
- Прописать настройки в конфиге
- Запустить exe
Конфигурационных файлов два, оба располагаются в каталоге Confs
- Config.conf - основной в который вносятся настройки синхронизации
- MapUsers.conf - не обязательный, для того что бы задать соответствия пользователя хранилища и git.
{
"Bin1C": "C:\\Program Files\\1cv8\\8.3.13.1513\\bin\\1cv8.exe",
"RepositoryConf": [
{
"TimerMinute": 30,
"From": {
"Rep": "tcp://....../.....",
"Extension": true,
"Login": "",
"Pass": ""
},
"To": {
"RepDir": "",
"Branch": "Dev"
}
}
]
}
- RepositoryConf - это массив, т.е. таких элементов может быть несколько
- TimerMinute - расписание в минутах через сколько будет производиться синхронизация
- From - тут настраивается подключение к хранилищу 1С.
- Rep - строка подключения к хранилищу, может быть как по tcp://, так и файловая шара.
- Extension - флаг того является конфигурация расширением или нет.
- Login - имя пользователя для подключения к хранилищу
- Pass - пароль для подключения к хранилищу
- To - тут настраивается выгрузка в git
- RepDir - Директория в которой создан репозиторий для хранилища
- Branch - Ветка в которую нужно коммитить
{
"Имя полбзователя хранилища 1С": "Ivanov <[email protected]>",
"Имя полбзователя хранилища 1С2": "Petrov <[email protected]>",
"Default": "Sidorov <[email protected]>"
}
Формат пользователя Git обязательно такой должен быть как в примере. Default этот тот пользователь который будет взят если не найдено явного соответствия. Если не найдено явное соответствие и нет указание Default, или вообще нет данного конфигурационного файла коммиты в Git будут делаться без параметра --author, т.е. под тем пользователем под каким настроен Git.
Утилита поддерживает 4 уровня логирования
- ошибка (2)
- предупреждение (3)
- информация (4)
- дебаг (5)
Уровень debug самый подробный. По умолчанию используется уровень "предупреждение". Задать уровень логирования можно при запуске параметром -LogLevel=5. Логи складываются в каталог Logs расположенный в директории с программой.
Для запуска синхронизации в виде службы можно воспользоваться приложением nssm.
nssm install 1C2GIT - Добавление службы
nssm set 1C2GIT Description "Выгрузка хранилища 1С в Git" - Установить описание для службы
nssm remove 1C2GIT - Удаление службы
Подробности см. readme в каталоге nssm-2.24