Автоматизация работы Git + 1С:Конфигуратор
Предисловие:
Работа с 1С:Конфигуратором и Git нередко сопровождается рутинными задачами: загрузкой конфигурации, проверкой синтаксиса, анализом кода сторонними инструментами. Этот проект был создан для автоматизации подобных процессов с помощью механизма Git-хуков — локальных сценариев, которые автоматически выполняются при определённых событиях в Git. В основе решения лежат скриптовые языки PowerShell и Bash. Первый из них встроен в Windows, а второй становится доступным при установке Git for Windows. Такое сочетание позволяет удобно интегрировать автоматизацию прямо в процесс разработки. Проект демонстрирует, как можно использовать Git-хуки для повышения удобства работы с конфигуратором 1С. Он подходит как для личного использования, так и для командной работы. Если у вас возникнут идеи по улучшению — буду рад любой обратной связи и предложениям. Ваша помощь поможет сделать инструмент ещё удобнее и полезнее. Ссылка на проект в github
📘 Что такое Git hook
Git-хуки — это специальные сценарии, которые автоматически запускаются при выполнении определённых событий в системе Git. Например, перед коммитом, после переключения ветки или после слияния. Они позволяют автоматизировать проверки, сборку, уведомления и другие действия. В этом проекте используются следующие хуки: - `pre-commit` — выполняется перед каждым коммитом. Используется для анализа кода и синтаксической проверки. - `post-checkout` — выполняется после переключения ветки. Используется для загрузки и обновления конфигурации. - `post-merge` — выполняется после слияния веток. Загружает обновленную конфигурацию для проверки целостности конфигурации и синтаксис контроля.
🔧 Цель проекта
Работая с 1С:Конфигураторм и Git, ежедневно сталкивался с рутинными операциями: синтаксической проверкой, загрузкой конфигурации, проверкой на качество кода с помощью сторонних средств. Целью моего проекта стало автоматизировать эти процессы — прямо на этапах работы с Git-хуками. Результат — система, которая: - следит за качеством кода; - предотвращает ошибки до коммита; - автоматизирует загрузку конфигурации при смене ветки; - делает проверку прозрачной через GUI.
Архитектура
Все настройки централизованы в `config_hooks.json`, который описывает поведение каждого хука, параметры подключения к базе и пути к инструментам.
🧷 pre-commit
Перед коммитом:
- запускается анализ `.bsl`-файлов через внешний анализатор;
- выполняется синтаксическая проверка конфигурации;
- при наличии ошибок отображается окно с результатами.
🔄 post-checkout
При смене ветки:
- автоматически загружается конфигурация из файлов;
- база обновляется (если нужно);
- возможно создание `ConfigDumpInfo.xml` для отслеживания структуры.
🔃 post-merge
После слияния веток:
- система повторно загружает конфигурацию (Только измененные файлы);
- проверяет синтаксис на целевой базе;
- гарантирует, что результат объединения не нарушает структуру.
🚀 Установка и запуск
1. Распакуйте архив на локальный диск (важно! анализатор работает только при локальном размещении).
2. Запустите `run.bat`.
3. Укажите путь к репозиторию — все хуки установятся автоматически.
Особенности:
- Анализатор `.bsl` требует Java 17 и выше.
- Отдельно скачать анализатор BSL Server 1c
- Анализатор и репозиторий должны находиться на одном жёстком диске.
- Репозиторий должен быть размещён локально, а не в сети.