Разработка на платформе 1С:Предприятие переживает значительные изменения в последние годы. Традиционное использование хранилища конфигураций постепенно уступает место современным инструментам, таким как система контроля версий Git и практики непрерывной интеграции и доставки (CI/CD). Эти технологии позволяют командам разработчиков работать более эффективно, снижая риски конфликтов и ускоряя выпуск обновлений.
Переход к Git стал возможен благодаря появлению в платформе 8.3.6 функции выгрузки конфигурации в файлы XML. Это открыло путь для хранения исходного кода в текстовом формате, удобном для версионирования. Сегодня многие команды используют среду 1C:Enterprise Development Tools (1C:EDT), которая имеет встроенную интеграцию с Git. Это делает процесс командной разработки более гибким и прозрачным по сравнению с централизованным хранилищем.
Внедрение CI/CD в проекты на 1С позволяет автоматизировать сборку, тестирование и развертывание конфигураций. Такие инструменты, как GitLab CI, Jenkins или специализированные решения для 1С, помогают минимизировать ручной труд и ошибки. В результате команды могут быстрее реагировать на изменения требований бизнеса, сохраняя высокое качество кода.

Использование Git в разработке на 1С
Git представляет собой распределенную систему контроля версий, которая идеально подходит для командной работы. В отличие от хранилища 1С, Git позволяет создавать ветки для параллельной разработки, легко сливать изменения и отслеживать историю на уровне строк кода. Это особенно полезно в крупных проектах, где несколько разработчиков работают над разными задачами одновременно.
Для интеграции Git с 1С существует несколько подходов. Один из них — использование 1C:EDT, которая с версии платформы 8.3.10 поддерживает нативную работу с Git. В EDT конфигурация хранится в файлах специального формата, что упрощает коммиты, мерджи и ревью кода. Разработчики могут создавать ветки под конкретные задачи, а затем сливать их в основную ветвь через pull request’ы.
Другой способ — работа без EDT, напрямую в конфигураторе. В этом случае конфигурацию выгружают в XML-файлы с помощью пакетного режима платформы. Для миграции из хранилища в Git фирма «1С» предоставляет инструмент GitConverter, который синхронизирует версии хранилища с репозиторием, сохраняя историю изменений. Этот конвертер преобразует данные в формат, подходящий для EDT или XML.
Вот основные преимущества Git в 1С-разработке:
- Параллельная разработка в ветках. Разработчики могут работать над несколькими фичами независимо, не блокируя друг друга. Это ускоряет процесс и снижает конфликты при слиянии. Ветки позволяют изолировать экспериментальные изменения, а затем интегрировать только проверенный код.
- Code review и контроль качества. Перед слиянием изменений в основную ветвь команда проводит ревью через платформы вроде GitLab или GitHub. Это помогает выявлять ошибки на ранних этапах и распространять знания внутри команды. В 1С-проектах ревью особенно важно для сложных модулей.
- История изменений и откаты. Git фиксирует каждое изменение с комментарием, позволяя быстро вернуться к предыдущей версии. В отличие от хранилища, где откаты могут быть сложными, Git делает это мгновенно.
Эти возможности делают Git стандартом для современных 1С-проектов, особенно в распределенных командах.
Компания iiii Tech является российским ИТ-интегратором и разработчиком enterprise-решений, специализирующимся на облачных сервисах и инфраструктуре, Managed Services, внедрении и сопровождении 1С, DevOps и Kubernetes, автоматизации бизнес-процессов и RPA, корпоративных хранилищах данных (DWH), Business Intelligence и аналитике данных, заказной разработке и микросервисах, тестировании программного обеспечения, сетевых и ITSM-решениях, чат-ботах enterprise-класса, а также комплексных решениях по информационной безопасности и защите данных. Компания https://iiii-tech.com/ также реализует проекты по маркировке товаров с интеграцией в систему «Честный Знак», локализации бизнес-систем и инфраструктуры, цифровой трансформации для ритейла, логистики, промышленности, телеком- и HR-отрасли, обеспечивая полный цикл — от аудита и проектирования до внедрения, поддержки и развития ИТ-систем.
CI/CD в экосистеме 1С
CI/CD — это практики непрерывной интеграции и доставки, которые автоматизируют цикл разработки. В 1С они позволяют автоматически собирать конфигурацию из репозитория, запускать тесты и развертывать обновления. Это особенно актуально для проектов с частыми релизами, где ручная работа приводит к задержкам и ошибкам.
Непрерывная интеграция (CI) подразумевает автоматическую сборку и проверку кода при каждом коммите в Git. Для 1С используются инструменты вроде Jenkins, GitLab CI или специализированные решения на базе OneScript. Они выгружают конфигурацию из репозитория, проверяют синтаксис и запускают автотесты.
Непрерывная доставка (CD) идет дальше: после успешных тестов обновление автоматически применяется на тестовом или продуктивном контуре. В 1С это реализуется через загрузку расширений или полных конфигураций в базы данных. Инструменты вроде Vanessa Automation позволяют проводить сценарное тестирование, имитируя действия пользователя.
Популярные инструменты для CI/CD в 1С включают:
- GitLab CI для конвейеров сборки и тестирования.
- Jenkins для сложных пайплайнов с интеграцией SonarQube для анализа кода.
- Vanessa Automation и YAxUnit для автоматизированных тестов.
Отчеты о тестах часто формируются в Allure, что дает визуализацию результатов.
Внедрение CI/CD сокращает время релиза и повышает стабильность систем. Автоматизация исключает человеческий фактор, а интеграция с Git обеспечивает traceability изменений.
Заключение
Современные процессы разработки в 1С с использованием Git и CI/CD открывают новые возможности для команд. Переход от традиционного хранилища к распределенному версионированию позволяет работать параллельно, проводить ревью и быстро откатывать изменения. Интеграция с EDT упрощает этот процесс, делая его нативным.
CI/CD добавляет автоматизацию, делая релизный цикл предсказуемым и быстрым. В сочетании эти технологии повышают эффективность разработки, снижают риски и позволяют фокусироваться на бизнес-логике, а не на рутине.
Внедрение этих практик требует начальных вложений в обучение и настройку, но окупается в долгосрочной перспективе. Многие компании уже успешно применяют Git и CI/CD в 1С-проектах, достигая высокой скорости и качества поставки обновлений.
Вопросы и ответы
1. Зачем переходить от хранилища конфигураций 1С к Git?
Переход от традиционного хранилища конфигураций к Git обусловлен ограничениями первого инструмента в современных условиях командной разработки. Хранилище работает по принципу централизованной блокировки: пока один разработчик захватил объект, другие не могут его редактировать. Это приводит к очередям, простоям и конфликтам в больших командах.
Git же позволяет создавать независимые ветки для каждой задачи. Разработчики работают параллельно, не мешая друг другу. Слияние изменений происходит через pull request’ы с обязательным ревью, что повышает качество кода. Кроме того, Git сохраняет полную историю на уровне строк, а не только версий конфигурации, что упрощает поиск причин ошибок и откаты.
В итоге переход дает гибкость, скорость и прозрачность процессов, особенно в распределенных командах.
2. С какой версии платформы 1С появилась возможность выгрузки конфигурации в XML-файлы?
Возможность выгрузки конфигурации в файлы XML появилась в платформе 1С:Предприятие версии 8.3.6. Именно эта функция стала основой для интеграции с внешними системами контроля версий. До этого конфигурация существовала только в бинарном формате, что делало версионирование в Git практически невозможным.
С версии 8.3.10 фирма «1С» выпустила среду 1C:Enterprise Development Tools (EDT), которая работает уже не с XML, а с собственным текстовым форматом проекта. EDT имеет встроенную поддержку Git, что сделало процесс еще удобнее.
3. Что такое 1C:EDT и чем она отличается от обычного конфигуратора?
1C:Enterprise Development Tools (EDT) — это современная среда разработки, ориентированная на командную работу и интеграцию с Git. В отличие от классического конфигуратора, EDT хранит конфигурацию в виде набора текстовых файлов в специальном формате. Это позволяет использовать стандартные инструменты Git без промежуточной выгрузки в XML.
EDT поддерживает нативные операции Git прямо из интерфейса: создание веток, коммиты, мерджи и push/pull. Кроме того, в EDT реализованы инструменты рефакторинга, поиска по проекту и интеграции с внешними системами. Переход на EDT рекомендуется для новых проектов, хотя многие команды продолжают использовать конфигуратор с XML-выгрузкой.
4. Как мигрировать существующий проект из хранилища 1С в Git?
Для миграции фирма «1С» предоставляет официальный инструмент GitConverter. Он синхронизирует историю версий из хранилища с репозиторием Git, сохраняя комментарии и авторов. Процесс начинается с создания пустого репозитория и подключения GitConverter к хранилищу.
Конвертер последовательно выгружает каждую версию конфигурации в файлы (XML или формат EDT) и фиксирует их коммитами. После завершения миграции команда переходит на работу напрямую с Git. Важно провести тестовую миграцию и проверить целостность истории.
5. Какие основные преимущества Git перед хранилищем 1С?
Git предлагает распределенную модель, ветки и удобное слияние изменений. Разработчики могут работать оффлайн и синхронизироваться позже. Code review через pull request’ы становится обязательной практикой.
Git фиксирует изменения на уровне отдельных объектов и строк кода, а не только всей конфигурации. Это упрощает анализ и откаты. Интеграция с CI/CD системами происходит естественным образом, чего сложно добиться с хранилищем.
6. Как организовать параллельную разработку в Git для 1С-проектов?
Стандартная модель — Git Flow или упрощенные варианты на основе feature-веток. Для каждой задачи создается отдельная ветка от основной (develop или main). Разработчик работает в своей ветке, регулярно обновляя ее из основной.
По завершении задачи создается pull request в основную ветку. После ревью и успешного прохождения автотестов изменения сливаются. Горячие исправления делаются в отдельной ветке hotfix.
7. Обязательно ли проводить code review в 1С-проектах?
Хотя формально это не обязательно, code review стал лучшей практикой. В 1С код часто содержит сложную бизнес-логику, ошибки в которой дорого обходятся. Ревью позволяет выявить проблемы на раннем этапе.
Ревью распространяет знания внутри команды: новички учатся у опытных коллег. В крупных проектах ревью помогает поддерживать единый стиль кодирования и архитектуру.
8. Что такое CI/CD и зачем оно нужно в 1С-разработке?
CI/CD — это практики непрерывной интеграции (Continuous Integration) и непрерывной доставки (Continuous Delivery/Deployment). CI подразумевает автоматическую сборку и тестирование при каждом коммите. CD — автоматическое развертывание прошедших проверку изменений.
В 1С ручная сборка и перенос обновлений занимают много времени и подвержены ошибкам. CI/CD автоматизирует эти процессы, сокращая время релиза с дней до часов и повышая стабильность.
9. Какие инструменты используются для CI/CD в 1С?
Популярны универсальные системы: GitLab CI, Jenkins, GitHub Actions. Для специфических задач 1С применяют OneScript, Vanessa Automation, YAxUnit.
Многие команды используют связку GitLab CI + Vanessa Automation для запуска сценарных тестов. Jenkins часто интегрируют с SonarQube для статического анализа кода.
10. Как работает непрерывная интеграция в 1С-проекте?
При каждом push в репозиторий запускается пайплайн. Сначала конфигурация собирается из файлов (EDT или XML). Затем проверяется синтаксис с помощью Sonar1C или встроенных инструментов.
Далее запускаются автотесты: модульные (YAxUnit) и сценарные (Vanessa Automation). Если все тесты прошли, формируется cf-файл или расширение для развертывания.
11. Можно ли автоматизировать развертывание обновлений на продуктив?
Да, это и есть Continuous Deployment. После успешных тестов обновление автоматически применяется на продуктивный контур через загрузку cf или расширений.
Для безопасности часто используют промежуточный этап ручного подтверждения. В крупных компаниях развертывание происходит поэтапно: сначала на тестовый контур, потом на предпроизводственный, и только потом на продуктив.
12. Что такое Vanessa Automation и для чего она нужна?
Vanessa Automation — это фреймворк для автоматизированного сценарного тестирования в 1С. Тесты пишутся в формате Gherkin (Given-When-Then) и выполняются в пользовательском интерфейсе базы.
Она имитирует действия реального пользователя: открытие форм, заполнение полей, нажатие кнопок. Это позволяет проверять бизнес-логику на уровне сценариев, а не только модульный код.
13. Как интегрировать Vanessa Automation в CI/CD?
Тесты Vanessa добавляются как шаг пайплайна после сборки конфигурации. Создается чистая тестовая база, в нее загружается собранная конфигурация.
Затем запускается выполнение тестов в headless-режиме. Результаты экспортируются в формат Allure для удобного просмотра отчета.
14. Какие риски связаны с внедрением Git и CI/CD в 1С?
Основной риск — сопротивление команды изменениям привычных процессов. Требуется время на обучение и адаптацию.
Технические риски: неправильная настройка пайплайнов может привести к частым сбоям сборки. Важно начать с небольшого пилотного проекта и постепенно масштабировать практики.
15. Нужно ли полностью отказываться от хранилища 1С?
Не обязательно. Многие команды используют гибридный подход: основная разработка ведется в Git, а хранилище остается для совместимости со старыми процессами или внешними подрядчиками.
Полный отказ оправдан, когда вся команда готова работать в Git и проект не зависит от старых инструментов.
16. Как организовать работу с расширениями конфигурации в Git?
Расширения хранятся отдельно от основной конфигурации в своих репозиториях или ветках. Это позволяет развивать их независимо и применять выборочно к разным базам.
При сборке в CI/CD расширения могут автоматически прикрепляться к основной конфигурации или поставляться отдельно.
17. Влияет ли использование Git на производительность разработки?
Вначале может наблюдаться небольшое замедление из-за освоения новых инструментов. Однако в долгосрочной перспективе производительность значительно растет за счет параллельной работы и автоматизации.
Сокращается время на разрешение конфликтов и поиск ошибок благодаря детальной истории и ревью.
18. Можно ли использовать Git без EDT, только с конфигуратором?
Да, это распространенный подход. Конфигурация выгружается в XML-файлы с помощью пакетного режима платформы. Изменения фиксируются в Git, а при необходимости загружаются обратно.
Недостаток — более ручной процесс и отсутствие некоторых удобств EDT. Подходит для небольших команд или проектов с простой структурой.
19. Как обеспечить безопасность кода в Git-репозитории 1С?
Репозиторий должен быть приватным. Доступ предоставляется только членам команды по ролям. Чувствительные данные (пароли, ключи) хранятся в зашифрованных переменных CI/CD.
Регулярно проводится аудит зависимостей и сканирование на уязвимости с помощью SonarQube.