Добавляем в Конвертацию данных 2.1 средства для работы с GIT

11.03.21

Разработка - Групповая разработка (Git, хранилище)

В КД2 добавлен функционал для простой работы с GIT, а также с плагином GitRules, при помощи которого единый XML файл раскладывается на "исходники". В результате получаем решение для совместной работы с правилами обмена. В то же время разработчикам не нужно изучать консольные команды GIT, достаточно иметь общее представление о его работе.

Скачать исходный код

Наименование Файл Версия Размер
Файл обновления для "Конвертации данных 2.1.8.2"
.cfu 115,44Kb
26
.cfu 1.0 115,44Kb 26 Скачать

Перед чтением этой статьи настоятельно рекомендую ознакомиться с наработками Олега Тымко (//infostart.ru/1c/articles/845576/) и Станислава Ганиева (//infostart.ru/public/632457/).

Взяв их труды за основу нам удалось настроить довольно комфортную совместную разработку правил обмена. Разработчики изменяли правила обмена, с помощью плагина GitRules раскладывали XML файл правил на составляющие и выгружали в GitLab. Архитектору оставалось своевременно отрабатывать запросы на слияние. Конфликтов при слиянии почти не возникало, так как в основном программисты дорабатывали разные «куски» правил.

Однако в силу специфики работы часто к нам в команду «на усиление» приходили разработчики, не знакомые с GIT. Задачи у них были не большие и обучение не всегда было целесообразно. Появилась идея доработать КД так, чтобы обычный программист не задумывался над выполнением консольных команд GIT, он как и прежде должен иметь возможность загрузить файл с правилами обмена, внести необходимые изменения и выгрузить файл на диск. А тот факт, что правила теперь хранятся в GIT, да ещё и в «разобранном» виде его волновать не должно. Все операции по сборке/разборке/коммитам/пушам – все это должна делать сама Конвертация. Конечно полностью «прозрачно» это не сделать, минимальное представление о работе GIT разработчик должен иметь, но удалось сократить время на рутинные операции и уменьшить количество ошибок при работе с малознакомым софтом.

В итоге получился следующий сценарий работы разработчика:

  1. Узнать у архитектора путь к удаленному хранилищу правил в GitLab и параметры подключения, внести их в справочник в «Конвертации»
  2. Клонировать удаленный репозиторий в локальную папку, при этом сразу создается новая ветка, в качестве названия мы договорились использовать номер наряда из нашей системы постановки задач.
  3. Загрузить нужные правила (КД сама соберет из исходников файл XML, а затем загрузит его).
  4. После внесения изменений в правила можно просто выгрузить XML, а можно одновременно с выгрузкой разложить правила на исходники, сделать коммит и даже push. Регулируется это просто флажками. К сожалению, я не нашел способа сделать программно запрос на слияние на сервере GitLab, поэтому разработчиков приходится учить, как это сделать в веб-интерфейсе.

Во время эксплуатации стало понятно, что необходим ещё режим для более «продвинутых» пользователей, которые могут управлять созданием веток самостоятельно. Им необходима возможность просто подключиться к нужному локальному репозиторию, без необходимости каждый раз клонировать удаленный репозиторий. В итоге сейчас можно просто «подключаться» к веткам в КД, а управлять ими так, как удобно (через консоль или любую GUI для GIT, например я предпочитаю SourceTree).

Пока разработка находится в состоянии MVP, но у себя мы её успешно применяем, критичных ошибок не выявлено. Буду рад замечаниям и предложениям. Ниже чуть подробнее расскажу с чем пришлось столкнуться в ходе разработки, возможно кому-то сбережем время.

 
 Немного подробностей
 
 Инструкция пользователя «КД2 и GIT»

 

Конвертация данных GIT GitRules OneScript КД GitLab правила обмена обмен данными конвертация

См. также

Обновляемый список последних статей Инфостарт для профиля Github

Групповая разработка (Git, хранилище) Бесплатно (free)

Не знаете, чем бы таким заполнить свой профиль Github? Заполните его своими статьями на Инфостарт! Этот простой workflow сам соберет список ваших последних статей и будет периодически обновлять его для актуализации данных.

08.04.2024    1008    bayselonarrend    2    

31

Процесс разработки с использованием GIT и расширений для 1С:ERP. Без EDT

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Доработки 1С:ERP на крупных проектах можно организовать, не внося изменения в саму типовую конфигурацию, а используя только расширения и отдельные «микроконфигурации». Расскажем о том, как это сделать без EDT, используя процесс разработки GitHub Flow.

02.04.2024    5483    Begemoth80    24    

47

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1696    bayselonarrend    3    

38

Автоматизация процесса разработки с помощью сервиса GitFlic

Групповая разработка (Git, хранилище) Бесплатно (free)

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    2240    user1989937    6    

16

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

Групповая разработка (Git, хранилище) Бесплатно (free)

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    4190    bayselonarrend    15    

64

Насколько глубок 1С-ный GitHub?

Групповая разработка (Git, хранилище) Бесплатно (free)

Open-source проекты - важная часть мира программного обеспечения. 1С привычно держится немного в стороне от глобальных трендов, но бросить холодный статистический взгляд на положение дел мне показалось небезынтересным.

22.01.2024    8270    bayselonarrend    50    

87

TCP прокси-сервер хранилища конфигурации 1С

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

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3228    kamisov    19    

61

Отдай корень! Библиотека OneScript для получения информации о захваченных объектах в хранилище

Групповая разработка (Git, хранилище) Бесплатно (free)

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

26.12.2023    1607    ardn    1    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ardn 627 11.03.21 09:38 Сейчас в теме
3. tambu 67 11.03.21 11:21 Сейчас в теме
2. reset2 17 11.03.21 10:41 Сейчас в теме
Круто!
Только 1С выкатили релиз КД 3.1, в котором можно работать как с XML(КД2) так и с EnterpriseData(КД3).
... и в нём есть "Совместная работа".
Прикрепленные файлы:
4. tambu 67 11.03.21 11:23 Сейчас в теме
(2) Спасибо за информацию! Будем пробовать. Прям интересно получается, за многие годы 1С что-то сделали с КД2.
5. ardn 627 11.03.21 16:41 Сейчас в теме
(2)
можно работать как с XML(КД2) т

Попробовали. Так себе совместная работа. Полный аналог хранилища, линейная разработка.
Все-таки с использованием гита получается эффективнее.
7. omut 15.03.21 10:17 Сейчас в теме
(2) Подскажите, а где можно увидеть этот шедевр?
8. reset2 17 15.03.21 14:23 Сейчас в теме
(7) ссылка на странице загрузки КД3
https://releases.1c.ru/project/Conversion30
Прикрепленные файлы:
9. itoptimum 24 17.03.21 06:47 Сейчас в теме
(2) не знаю, как релизы, но с версией для тестирования последней 3.1.1.3, пришлось поработать, чтобы заставить нормально работать по алгоритмам кд2. расширением/изменением обработки загрузки
11. NoRazum 29 25.03.21 17:24 Сейчас в теме
(9) из-за этого БЕТА

до релиза не вытянули
6. kirill_sh 1 14.03.21 15:12 Сейчас в теме
интересное решение, будем пробовать на КД3
10. serge_focus 4 19.03.21 22:01 Сейчас в теме
Идея супер. Месяц назад появилась задача обмена данными. И кидал в гит просто готовые xml. Работать с этим было неудобно - но хоть какое-то версионирование.
Попробую Ваш вариант. Спасибо за труд.


пс. В описании не видны картинки.
CyberCerber; kirillkr; +2 Ответить
12. rom-x 152 12.07.22 12:04 Сейчас в теме
Перезалейте пожалуйста картинки в инструкции.
13. tambu 67 12.07.22 20:14 Сейчас в теме
Добрый день!

Вложил инструкцию.
Прикрепленные файлы:
Публикация КД и ГИТ.docx
Оставьте свое сообщение