Правило
Заголовок раздела «Правило»- Конфигурация хранится в git как текстовые исходники (
/DumpConfigToFilesв зафиксированном формате), а не только бинарный.cf— иначе нет диффов, ревью и линтера. - Изменение принимается только при зелёном линтере (BSL Language Server, профиль обязательных диагностик) и quality gate (SonarQube 1C, если развернут) для нового кода.
mainзащищён: прямые пуши запрещены, мердж — только через MR/PR с успешным CI и минимум одним ревью со стороны компании.- Ветки короткоживущие:
feature/<задача>_<кратко>, срок жизни ~≤ 10 рабочих дней; размер MR ~≤ 500 строк диффа — большие изменения режутся на шаги.
Без quality gate стандарт — это пожелание: подрядчик сдаёт как привык, замечания всплывают на приёмке и оплачиваются второй раз. Gate переводит правила из документа в механику: не проходит линтер — мердж закрыт, и спорить не о чем. Большие MR и долгоживущие ветки убивают ревью — проверяющий физически не может осмыслить 2000 строк, и дефекты проходят насквозь.
Инструменты контура: BSL Language Server (.bsl-language-server.json в корне
репозитория), SonarQube 1C (BSL) Community Plugin, OneScript + vanessa-runner для
запуска конфигуратора из CI, precommit4onec для локальных хуков — ссылки в
источниках. Готовые каркасы .gitlab-ci.yml / GitHub
Actions / sonar-project.properties / .bsl-language-server.json и процедура
отката — в шаблонах CI/CD.
Когда не применять
Заголовок раздела «Когда не применять»Для баз, где нет доработок (чистая типовая на поддержке), контур избыточен. Хотфикс «прод лежит» можно мерджить по упрощённой процедуре — но пост-фактум ревью и прогон CI обязательны в тот же день.