Вход | Регистрация
    1  2
1С:Предприятие :: 1С:Предприятие 8 общая

Хранилище конфигурации 1С и GIT

Хранилище конфигурации 1С и GIT
Я
   stopa85
 
13.06.20 - 15:12
2. Хранилище конфигурации64% (7)
1. GIT36% (4)
Всего мнений: 11

Сейчас в своей работе использую ГИТ и меня все устраивает (В конфигураторе выгрузить/загрузить конфигурацию в файлы, потом GitGUI). Если учесть, что у меня еще есть не-1С разработки, то и выбора то у меня особо нет.

Тем не менее интересна тема про 1С-хранилище конфигурации.

Ребята, кто работал и с тем и с тем, поделитесь мнением... Я правильно понимаю, что и смотреть в сторону Хранилища не стоит? И вообще, голосуем!
   d4rkmesa
 
101 - 15.06.20 - 09:54
Пока хранилище, т.к. еще иногда актуальны ОФ.

2. Хранилище конфигурации
   fisher
 
102 - 15.06.20 - 10:24
Лично мне переход на git мне кажется вполне оправданным, если хранилище начало сильно "жать".
А вот переход на EDT - гораздо более спорный момент. Время сборки - существенный минус для языка, где большинство ошибок ловится только в рантайме.
   stopa85
 
103 - 15.06.20 - 10:33
(99) Под проект - делаю отдельную ИБ. Под задачи - нет.

Нужно дополнительно прокомментировать, что у меня маленькая ИБ и в смысле объема данных и в смысле объема конфигурации и я вполне могу себе позволить держать и несколько штук, даже на рабочем ноуте.
   fisher
 
104 - 15.06.20 - 10:40
(103) Просто этот момент почему-то гитоводы всегда опускают, когда взахлеб про бранчи рассказывают. Бранч налево, бранч направо - воздушная легкость! А бранчи не такие уж и "легкие". Хотя, безусловно, возможность очень полезная и удобная. Просто разработчику минимум две базы придется иметь. Ну да невелика проблема.
   fisher
 
105 - 15.06.20 - 10:45
Хотя помню, что какой-то админ заводил тему, в которой осторожно возмущался, а не охренели ли разработчики 1С иметь каждый по полноценному стэйджингу и нельзя ли чтобы он был один на группу.
   stopa85
 
106 - 15.06.20 - 10:58
(104) Да есть такое дело. Нам от того не легче, но ведь и разработчики сайтов испытывают теже сложности. Ведь у сайта тоже есть БД.
   1c_2189
 
107 - 15.06.20 - 11:10
1

2. Хранилище конфигурации
   PR
 
108 - 15.06.20 - 11:14
(95) Предложи Нуралиеву, че
   PR
 
109 - 15.06.20 - 11:14
(96) Эээ... кто увешан сертификатами?
У меня, например, только по семерке замшелых годов и пара профов по восьмерке
   PR
 
110 - 15.06.20 - 11:15
(97) Надо было с родителей каждый месяц по 250 рублей собирать?
   vde69
 
111 - 15.06.20 - 20:31
(106) не путай сайт в котором пусть 100 файлов (имею в виду код, без картинок) и 1с в котором примерно 1.5 ляма строк кода в типовой бухии, а в ЕРП около 3х лямов строк кода, и количество модулей измеряется не десятками и даже наверно не сотнями....

я не говорю, что ГИТ плохо, нет, я говорю, что когда говорят "я легко отпачкую себе хоть целиком все", но надо понимать сколько это "все" весит для сайта и 1с, там и объемы и скорости разные.

по этому я огромным сомнением читаю Ваши восторженные возгласы...

к примеру представь продакш базу ЕРП которая абсолютно пустая весит далеко за 2 гига, то есть с минимум данных для тестирования это примерно от 5 до 10 гиг. В реальности это от 20 до 100 гигов, у тебя 5 компаний, вот представь по две копии базы у себя на ноуте от каждой компании, да еще и репозитарий, и место для темпов... То есть 2 терабайта на ноуте уже мало..... а ведь без SSD не обойдешся с EDT.

А теперь вопрос - сколько стоит ноут который это потянет?
   amiga 600
 
112 - 15.06.20 - 20:57
(111)

Для приложения с 10^10 строк кода с GIT-ом "я легко отпачкую себе хоть целиком все" не поменяется никак.

Вы хоть почитайте, что такое GIT, "программисты". GIT не "отпачкую всё" работает.
   stopa85
 
113 - 15.06.20 - 22:29
(111) Согласен с Вашими возражениями. Я вас услышал.

Необходимость копий ИБ - проблема. Причем она не только в технической плоскости, но и в плоскости безопасности. Сливать несколько веток в общий знаменатель - наверное проблема.

В моей же идеальной вселенной есть эталонная полнофункциональная ИБ маленького размера (для разрабов и подрядчиков), а полноразмерная копия БД нужна для поиска/устранения проблем с производительностью и финального тестирования. В реальном мире все не так.

Гит придумали для того чтобы "Почковать" миллионы строк кода.
   Sserj
 
114 - 16.06.20 - 02:46
(111) Ну вообще то git был создан Линусом для сопровождения разработки ядра линкуса и успешно с этим справляется, а там больше 10 млн.строк кода.
   MyNick
 
115 - 16.06.20 - 06:34
Никакие миллионы строк не "почкуются". Есть текущий HEAD и метки на тех файлах, которые были изменены.
Весь мир, в тч на самых огромных проектах использует git. И только одинэсники считают свой дебет-кредит слишком уникальным для этого.
   MyNick
 
116 - 16.06.20 - 06:42
(111) ну вообще базы можно держать на обычном винте. И почему обязательно ноут? Мощный стационарник + дешманский ноут для RDP.
   MyNick
 
117 - 16.06.20 - 06:49
И вообще, при чем тут базы? Это уникальное ьребование гита? Без него вы их не используете?
   Strogg
 
118 - 16.06.20 - 08:44
Судя по обсуждению, для подпихивания своих изменений в рабочую базу, в случае GITа нужны телодвижения по загрузке конфы. В случае хранилища, там ничего такого делать не надо. хранилище-обновить конфу из хранилища и в путь. Откатиться на более старую версию - тоже никаких проблем, в случае протоколирования изменений, совместно с багтреккером - вся разработка становится ясной и понятной. Единственный минус для меня - ненадежность хранения БД хранилища в файловом варианте. А серверный доступен только при использования одинаковых версий платформ. Но если юэкапить папку с хранилищем, то,в общем-то,риск потерять хранилку болИе-Лимение ) минимизирован.
В случае групповой разработки, при использовании ГИТ не вижу никаких плюшек по сравнению с хранилкой.
Но тема интересная, безусловно.
   stopa85
 
119 - 16.06.20 - 09:00
(118) А как вы протоколируете изменения? В Хранилище есть для этого инструменты? А то в Интернетиках пишут, что коментарии кода ставят.
   MyNick
 
120 - 16.06.20 - 09:04
(118) Какие еще телодвижения по загрузке?
В случае гита у тебя есть локальный каталог src (это конфа разобранная на файлы по модулям, формам и пр) и есть база со свое конфой. ЕДТ умеет собирать из файлов конфу и накатывать ее на твою базу.
База вообще не в курсе ни про хранилище, ни про гит.
Гит в отличие от хранилища
- собирает только изменения (хранилище же копит какую то тьму tmp файликов, видимо это "отпечатки" конфы, поэтому тяжелое и монстроузное)
- поэтому в гите быстро переключаться между ветками и коммитами
- посмотреть изменения в коммите или разницу между ними можно мгновенно
- откатить свои изменения на версию коммита можно мгновенно
- вернуться на версию последнего коммита можно не только файлом целиком. В редакторе видны участки кода, которые были изменены. Можно прямо здесь посмотреть - что же мы поменяли конкретно в этой функции и как этот участок кода выглядел до наших изменений.
- можно посмотреть кто, когда, во сколько и каким коммитом внес конкретные изменения в конкретную функцию до этого. А если гит связан с трекером - перейти к задаче, которая вызвала эти изменения.
- если вы делаете какую-то задачу и тут нужно срочно поправить баг и вернуться к задаче, можно сделать stash, а потом восстановиться из него - тоже мгновенно
- в гит пушить изменения своей ветки можно хоть каждую минуту чтобы зафиксировать проверенные изменения и продолжить. Запилили, проверили, зафиксили, переходим дальше. Закончили ветку, отдали в тест. В хранилище же как правило попадают только протестированные изменения (т.к. в противном случае нужно второе хранилище "production"), поэтому фиксирование изменений уже не управляется желанием разрабочика.
- при использовании гита цикл разработка-тестирование-внедрение изменений становится непрерывным. Можно пилить новый релиз и править только баги в старом. При этом исправления багов одним движением руки приезжают в релиз, который еще пилится.
- чтобы отдать на тест заказчику, достаточно  скинуть ему ссылку или хэш коммита. При использовании хранилища - нужно выгружать конфигурацию (мы ведь не отдаем протестированные изменения в тест, правильно?)
- на гите легко навешиваются хуки и организовывается автоматизированное тестирование
- НО САМОЕ ГЛАВНОЕ - в гите нет этой долбанной блокировки объектов. Один и тот же модуль или форма может правиться несколькими разработчиками одновременно. Если правились разные куски кода, все мержится без проблем. В противном случае последнему пушеру придется решить конфликт. Но возникает это крайне редко и делается максимально просто.

Короче сравнение вообще неуместно.
   MyNick
 
121 - 16.06.20 - 09:23
(118) "В случае групповой разработки, при использовании ГИТ не вижу никаких плюшек по сравнению с хранилкой."
Улыбнуло... Вы попробуйте ГИТ на несколько человек. Втянетесь, раскурите плюшки и скажете что "хранилка" это вообще не средство для групповой разработки. Версионирование "в одного" еще может быть норм, если только что перешел с 7.7, то даже будет вау эффект )))
   fisher
 
122 - 16.06.20 - 09:28
(119) В смысле, "как вы протоколируете изменения"? Хранилище все же какая-никакая, но VCS. Другое дело что инструментарий ревизий версий в сравнении с гитом ограниченный и тормознутый. Поэтому одна из "промежуточных" практик - зеркалировать коммиты из хранилища в гит. Фишка в том, что доля "настоящих команд" в общей массе разработки на 1С невелика. Средняя команда на среднем продукте в 1С - полтора разработчика :) Поэтому большинство вполне нормально на хранилище и живут. Даже если несколько разрабов, но каждый тянет "свой кусок" - то тоже вполне терпимо. Просто нет особой необходимости в более продвинутых инструментах.
   ДенисЧ
 
123 - 16.06.20 - 09:36
(121) "хранилка" это вообще не средство для групповой разработки."
CSV в своё время была вполне себе групповой. И даже RCS.
   pvase
 
124 - 16.06.20 - 09:38
Здравствуйте. А как вы захватываете объекты в GIT-е? Например мне надо захватить корень метаданных, но не рекурсивно (добавлять объекты), или захватить Модуль документа, а формы не захватывать.
   pvase
 
125 - 16.06.20 - 09:39
EDT не проходит, потому что УПП, там почти все на обычных формах.
   ДенисЧ
 
126 - 16.06.20 - 09:40
(124) В гите объекты не захватываются. Они мержатся по результату
   Strogg
 
127 - 16.06.20 - 09:43
(119) на текущий момент, в багтреккере есть номера задач. Изменения в коде помечаются ФИО разраба и номером задачи, по поводу которой изменен код. При выкладивании, разраб пишет в комменте номер задачи, по поводу которой он изменяет хранилку. Все. можно посмотреть, для чего была изменена любая строчка кода, выделенная комментом разраба.
(120) я вообще не спорю. Тема  весьма интересная (и новая пока что, для меня). Поэтому могу говорить только о хранилке.
(122) у нас по 8-9 человек на 1 базу. ГИТ интересен, имеет смысл рассмотреть, как замену, или дополнение к хранилке.
Да, действительно, сравнение версий это что-то с чем-то. Поставил на сравнение и ушел курить...
   fisher
 
128 - 16.06.20 - 09:55
(124) Никак. В распределенных VSC другая модель работы. Правь что угодно. От слова абсолютно. Это как оптимистические блокировки против пессимистических. В результате может получиться лажа, но на практике это происходит очень редко. Тогда последний кто вливает свои изменения и попадает на конфликт - должен его разрулить вручную. Но так как "фракция" для конфликтов гораздо мельче уровня объекта, то и вероятность конфликтов гораздо ниже.
   fisher
 
129 - 16.06.20 - 10:01
Т.е. если двое одновременно перепиливали одну и ту же функцию, то кто первый зальет свои изменения - тот и в тапках. А второму не даст. Тогда второму придется подстраиваться и сначала перепилить свои доработки с учетом уже сделанных коллегой.
   Daluvan
 
130 - 16.06.20 - 10:08
1с и так глючная.

2. Хранилище конфигурации
 
 Рекламное место пустует
   MyNick
 
131 - 16.06.20 - 10:26
(130) не глючная, а сырая
   eTmy
 
132 - 16.06.20 - 10:26
Зачем лишние телодвижения?

2. Хранилище конфигурации
   MyNick
 
133 - 16.06.20 - 10:29
(127) " Изменения в коде помечаются ФИО разраба и номером задачи, по поводу которой изменен код. "
В том то и дело, что гит это умеет и так. Если нужно привязаться к номеру задачи - при коммите указываем его. А если трекер интегрировать с гитом - можно прямо из задачи в трекере проваливаться в список изменений кода, которые были сделаны по этой задаче.
   mmmarat
 
134 - 16.06.20 - 10:59
Используем Хранилище 1C -> git -> bitbucket
Синхронизация через gitsync.
Разработчики по факту работают только с хранилищем 1с.
   ДенисЧ
 
135 - 16.06.20 - 11:10
(134) "Разработчики по факту работают только с хранилищем 1с."
Тогда нафейхоа гит?
   DTX 4th
 
136 - 16.06.20 - 11:21
(135) Изменения удобно смотреть.

(134) У нас такая же схема. Плюс еще внешние и произвольные отчеты раньше выгружались.
   mmmarat
 
137 - 16.06.20 - 11:31
(135) SonarQube, Vanessa. В Jira видим комментарии по каким задачам внесены изменения. И как отметили в (136) удобно иногда просто посмотреть нет ли говнокода :)
   fisher
 
138 - 16.06.20 - 11:32
(134) Проблем с gitsync не было? Я когда-то пытался перенести хранилище с немаленькой историей и на очередном коммите он сказал что не в силах... Да и кто-то еще отписывался по похожей фигне. Работал-работал, а потом устал.
   PR
 
139 - 16.06.20 - 11:42
(134) >>Разработчики по факту работают только с хранилищем 1с.
Эээ... чего?
А как я тогда свои изменения в Битбакете вижу?
   mmmarat
 
140 - 16.06.20 - 11:43
(138) При настройке иногда проблемы возникают. (авторизация с bitbucket, локальные настройки git, глючная версия git). Но если все настроено и работает, то работает без проблем.
Если много версий и не нужна вся история, можно сразу с какой нибудь крайней версии выгружать.
   mmmarat
 
141 - 16.06.20 - 11:45
(139) В зависимости от проекта у меня выгружается раз в час или раз в сутки. Под разработчиками я имел в виду только разработчиков в нашей компании.
А как настроено у вас не знаю.
   novichok79
 
142 - 16.06.20 - 11:52
заводите локальный хранилище git-репозиториев. например:
https://gogs.io/
и льете туда 1С и не 1С. у нас так сделано.
100+ сообщений в теме. вы серьезно?
   PR
 
143 - 16.06.20 - 12:05
(141) А, пардон, я почему-то подумал, что это про опыт использования EDT и про то, что он не с гитом работает, а с каким-то своим гитом
Не, у нас натурально EDT с гитом, Битбакет, Дженкинс, Сонаркуб и пр. https://www.youtube.com/watch?v=Aiel8HlZrwM
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.