РБК Компании
Главная ALP Group 4 сентября 2024

Многопоточная разработка: как работать с Git в 1С

Егор Сорокин делится опытом создания обработок Gitflow Tools на языке 1С для эффективного управления версиями кода
Многопоточная разработка: как работать с Git в 1С
Источник изображения: Freepik.com
Егор Сорокин
Егор Сорокин
Руководитель проектов ALP Group

C 2019 года работает в ALP Group, с 2020 года отвечает за управление проектами. Окончил СПбГЭТУ «ЛЭТИ» по направлению «Информатика и вычислительная техника».

Подробнее про эксперта

Преимущества многопоточной разработки с помощью Git

Ни для кого не секрет, что параллельная коллективная разработка намного эффективнее, нежели последовательная — при таком подходе можно вести быструю разработку большим числом программистов и сдавать IT-продукт в максимально сжатые сроки. Многие крупные компании, желая достичь преимуществ одномоментной разработки, со скрипом переходили на DevOps-методологии, открывали целые департаменты для набора соответствующих специалистов и пытались — с переменным успехом — сделать закостенелый процесс более гибким и контролируемым.

Реализовать многопоточную разработку помогают системы контроля версий — специальное программное обеспечение, позволяющее работать с изменяющейся информацией, при необходимости возвращаться к более ранним версиям кода и хранить изменения обособленно.

Самая популярная распределенная система контроля версий в мире — Git — была придумана в 2005 году и с тех пор стала индустриальным стандартом. Тем не менее, до сих пор лишь небольшая доля команд разработчиков 1С, на продуктах которой завязано большинство российских корпоративных проектов, использует Git на постоянной основе. Git не интегрирована по умолчанию в экосистему 1С. Это довольно сложный набор утилит командной строки с параметрами. Чтобы подключить Git к 1С, необходимо выполнить установку дополнительного программного обеспечения, подключиться к репозиторию, завести аккаунт на одном из хостингов, все корректно настроить и разобраться в специфике работы с консолью GitBash. Все это требует большого профессионального уровня погружения разработчиков в специфику Git, а главное — свободного времени.

Обработки GitFlow Tools

Однако полноценная интеграция — не единственный способ работы с Git в 1С. Ниже я расскажу об альтернативном решении — двух простых самописных обработках на языке 1С.

1. Рабочее место разработчика (РМР).

Многопоточная разработка: как работать с Git в 1С
Источник: ALP Group

Инструмент представляет из себя упрощенный Git-клиент в виде 1C-обработки. Под капотом решения — смесь из языков 1С, OneScript и прямых Git-команд. Как видно на скриншоте, у РМР всего две базовые кнопки — «Начать/продолжить работу» и «Поместить в удаленный репозиторий». Они реализуют два основных сценария работы:

а) Программист хочет начать работу над задачей. В этом случае он выбирает из списка уже существующую feature-ветку (либо указывает, что нужно создать новую) и нажимает кнопку «Начать/продолжить работу». В результате выполняется подготовка конфигурации к работе — создание новой ветки (либо переключение на уже существующую и синхронизация ее с удаленным репозиторием) и загрузка ветки в конфигуратор.

б) Программист хочет зафиксировать результат своей работы. В этом случае он нажимает кнопку «Поместить в удаленный репозиторий». Происходит выгрузка конфигурации в локальный Git-репозиторий, фиксация и отправка в удаленный репозиторий. Перед отправкой программисту будет показано окно с выполненными изменениями в KDiff (проверка на отсутствие случайных изменений).

Для выполнения всего вышеперечисленного программисту не нужно изучать команды Git, все делается автоматически — нужные команды зашиты внутри РМР.

Остальные кнопки отвечают за вспомогательную функциональность.

2. Создание релизов.

Многопоточная разработка: как работать с Git в 1С
Источник: ALP Group

Эта обработка загружает список обращений, еще не включенных в релиз, и выполняет сборку релиза из выбранных обращений. Решение позволяет изменить номер версии конфигураций прямо в окне сборки, не запуская конфигуратор. В случае если несколько обращений не получилось включить в релиз из-за конфликтов слияния, они откладываются в отдельный список, по которому можно впоследствии пройтись и включить обращения в релиз уже при помощи инструмента разрешения конфликтов (конфигуратор + CF или git-mergetool). Сборка из 5–10 мелких и средних задач без конфликтов слияния займет около 10 минут.

Так, с помощью двух простых обработок, можно реализовать полноценную многопоточную среду разработки, не потратив времени специалистов на изучение всех тонкостей Git-команд. При этом все преимущества системы Git остаются в силе: это и эффективное управление версиями кода, и отслеживание изменений, и возвращение к предыдущим версиям при необходимости, и возможность ветвления/слияния, и стабильность кодовой базы, и общее повышение производительности и качества разработки.

Источники изображений:

Личный архив компании

Интересное:

Новости отрасли:

Все новости:

Достижения

I место в рейтинге фирмы «1C»Крупнейшее внедрение «1С» в ФГУП «Почта России», автоматизировано 47 612 рабочих мест.
Внедрение «1С: Консолидация 8»Одно из самых масштабных внедрений «1С: Консолидация 8» в ПАО «Газпромнефть», автоматизация >5к мест

Профиль

Дата регистрации14.10.2010
Уставной капитал100 000,00 ₽
Юридический адрес г. Москва, вн.тер.г. Муниципальный округ Пресненский, ул. 2-Я Звенигородская, д. 13 стр. 42, этаж 9, помещ./ком I /18
ОГРН 1107746840420
ИНН / КПП 7703729939 770301001

Контакты

Адрес 123022, Россия, г. Москва, ул. 2-я Звенигородская, д. 13, корп. 41, 7 этаж
Телефон +78005555151

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия