Вход | Регистрация
    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

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