Автоматизация работы Git + 1С:Конфигуратор

02.07.25

Разработка - DevOps и автоматизация разработки

Проект демонстрирует, как можно использовать Git-хуки для повышения удобства работы с конфигуратором 1С.

Автоматизация работы 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

- Анализатор и репозиторий должны находиться на одном жёстком диске.

- Репозиторий должен быть размещён локально, а не в сети.

Git pre-commit post-checkout post-merge конфигуратор анализ кода PowerShell bash bsl-language-server проверка синтаксиса загрузка конфигурации

См. также

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.173.37.

2160 руб.

20.01.2022    9383    36    0    

17

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    422    vladimir_iclsoft    0    

9

DevOps и автоматизация разработки Программист 1С v8.3 Россия Абонемент ($m)

Устали от ручной поддержки версий обработок, отчетов и печатных форм в 1С в разных базах, ошибок и перезаписи важных изменений разными программистами? Автоматизируйте процессы с CI/CD и Jenkins. Читайте статью, скачивайте готовые скрипты и настройки, ставьте плюс и делитесь с коллегами!

2 стартмани

09.06.2025    5135    da_1c    16    

5

DevOps и автоматизация разработки Системный администратор Программист Стажер Бесплатно (free)

Готовим контейнеризированный Microsoft SQL Server в среде Windows

23.05.2025    3745    SerVer1C    35    

32

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) EDT Программист 1С v8.3 Бесплатно (free)

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

21.05.2025    2562    vladimir_iclsoft    3    

18

DevOps и автоматизация разработки Программист 1С v8.3 Бесплатно (free)

В проектной разработке часто возникают проблемы с однообразностью ландшафта, производительностью и быстрой разверткой инфраструктуры. Об одном из способов избежать или изолировать данные проблемы с помощью контейнеризации расскажем в статье.

18.09.2024    6590    antonov_av    6    

16

DevOps и автоматизация разработки Бесплатно (free)

Когда информационная база «весит» несколько десятков/сотен гигабайт, для разработки и тестирования обычно используют полную копию рабочей базы. Но если информационная база превышает несколько терабайт, такой подход сталкивается с нехваткой места на диске, долгой реструктуризацией, замедленной скоростью работы и другими проблемами, связанными с размером базы. В статье расскажем, как правильно готовить копии больших баз для разработки и тестирования.

28.08.2024    12392    yuraid    32    

62

DevOps и автоматизация разработки Программист Бизнес-аналитик Руководитель проекта 1С v8.3 1С:Документооборот Россия Бесплатно (free)

В данной инструкции рассмотрим процесс развертывания приложения на Python с использованием фреймворка Flask и Tesseract OCR в контейнере Docker. Узнаем, как использовать Tesseract в связке с Flask и осуществлять обращения к Tesseract для обработки изображений. Рассмотрим пример обращения к приложению Docker из 1С, в том числе для замещения CuneiForm в старых конфигурациях 1С:Документооборот версии 1.4 и ниже.

20.08.2024    5207    romanichenko    2    

10
Оставьте свое сообщение