|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Всем привет! Есть проектик с Spring Cloud, модули в одном проекте и соответственно ветка в git одна. Есть желание, чтобы разные модули можно было коммитить в разные репозитории, предполагаю, что такая потребность возникала не у одного меня и возможность, скорее всего, такая есть. Может кто укажет направление куда двигаться? :) Очень не хочется создавать разные проекты для каждого сервиса и потом сидеть с кучей открытых инстансов Idea. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 10:35 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Есть проектик с Spring Cloud, ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 10:41 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic Есть проектик с Spring Cloud, Да он еще на стадии разработки, уже всё поднимается, но много всякого ... плохого кода внутри)) Хочется сразу разбить его так, чтобы девопсам жизнь облегчить ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 10:53 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Хочется сразу разбить его так, чтобы девопсам жизнь облегчить Кстати, тут прогеры а не девопсы) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 11:12 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic Хочется сразу разбить его так, чтобы девопсам жизнь облегчить Ну кто-то же должен настраивать всякие там докеры кубернетисы и т.д., а чтобы красиво им это преподносить, наш код должен правильнее пушиться, чтобы когда девопс всё настроит и ветки будут деплоиться сами(сейчас так и есть, но для монолита), то жевопс почти и не нужен ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 11:19 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic кубернетисы Ты кубернетис настроил? 10 докеров работают? 3 хоста для контейнеров есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 12:18 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Всем привет! Есть проектик с Spring Cloud, модули в одном проекте и соответственно ветка в git одна. Есть желание, чтобы разные модули можно было коммитить в разные репозитории, предполагаю, что такая потребность возникала не у одного меня и возможность, скорее всего, такая есть. Может кто укажет направление куда двигаться? :) Очень не хочется создавать разные проекты для каждого сервиса и потом сидеть с кучей открытых инстансов Idea. Вообще-то это холиварная тема. Монорепозитарий vs куча репозитариев. Для любого решения свои есть плюсы и минусы. ИМХО на начале удобнее монорепозитарий, потом по мере роста проекта бить его на логические части. Точнее, так. Проповедники микросеврисной архитектуры говорят, что надо начинать с монолита. Потом, когда будет понятно на какие домены делиться приложение/предметная область, тогда разделять монолит на микросервисы. Только после этого, можно разделить монорепозитарий на части. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 12:47 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Ну кто-то же должен настраивать всякие там докеры кубернетисы и т.д., а чтобы красиво им это преподносить, наш код должен правильнее пушиться, чтобы когда девопс всё настроит и ветки будут деплоиться сами(сейчас так и есть, но для монолита), то жевопс почти и не нужен ) За настройку приложения и оборачивания ее в докер отвесттвенность несет программист. DevOps предоставляет инфраструктуру. Т.е., например, кластер kubernetes и CI/CD. Даже скрипт деплоя на test/stage/prod по хорошему должен писать программист. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 12:51 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul Проповедники микросеврисной архитектуры говорят, что надо начинать с монолита. Монолит это везде Г архитектура. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 12:54 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic кубернетисы Пока решается этот вопрос, с кубернетис я не сталкивался вообще, выбор конечный не за мной, сейчас у меня Spring cloud локально. PetroNotC Sharp Ты кубернетис настроил? нет PetroNotC Sharp 10 докеров работают? занимаюсь этим не я. PetroNotC Sharp 3 хоста для контейнеров есть? занимаюсь этим не я. Вообще изначально другой вопрос был, ну да ладно, хорошо, что и это затронули. Честно говоря, слаб я еще в этой теме... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 13:50 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul Проповедники микросеврисной архитектуры говорят, что надо начинать с монолита. Монолит это везде Г архитектура. Сэм Ньюман "Создание микросеврисов". Как раз об этом пишет в своей книге. А так монолит нормальная архитектура. "Прелесть" монолита в том, что если он плохо спроектирован, то работать будет долго. Хотя изменения будут стоить дорого. А вот плохо спроектированная "микросервисная" архитектура разваливается сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 13:54 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul А так монолит нормальная архитектура. Монолит противоречит SOA. с какого года SOA? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:00 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul Сэм Ньюман ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:00 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Честно говоря, слаб я еще в этой теме... Согласись. Нельзя учить прогеров если сам не писал. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:02 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul, Нашел. Монолит не пишут с 1998 года. Когда появилось Jini )))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:08 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul А так монолит нормальная архитектура. Монолит противоречит SOA. с какого года SOA? И в чем монолит противоречит SOA?! SOA можно и в виде монолита запилить. Oracle, IBM и RedHat как раз на основе своих монолитных решений предлагали SOA. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:53 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul SOA можно и в виде монолита запилить. Слово монолит придумал Ньюман? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 14:55 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul ИМХО на начале удобнее монорепозитарий, потом по мере роста проекта бить его на логические части. Точнее, так. Проповедники микросеврисной архитектуры говорят, что надо начинать с монолита. Потом, когда будет понятно на какие домены делиться приложение/предметная область, тогда разделять монолит на микросервисы. Только после этого, можно разделить монорепозитарий на части. Полностью согласен: в начале один репозиторий (как у ТС сейчас), а потом выделять отдельные подпроекты. С точки зрения работы с таким "многомодульным репозиторием" - git submodule . Одно уточнение - "разбивать" на подмодули я бы стал не по предметной области - доменам, а по "источникам изменений в проекте" или по аспектам, которые связаны с жизненным циклом проекта (это может быть и вопросы, связанные с развёртыванием проекта и др.). В общем, здесь нет универсального ответа, а есть только рекомендации: 1. Модуль должен быть условно самодостаточным (его можно отдельно собрать, протестировать (автотестами или вроде того) и установить/залить в репозиторий) 2. С модулем должна быть возможность работать НЕ в составе общего репозитория-объединения всех модулей (бывший монорепозиторий) 3. Точки разреза на модули должны быть понятными. Например, если вы просто разделили фронт и бэк, то явно об этом заявите. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 17:20 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta разбивать" на подмодули я бы стал не по предметной области - доменам, а по "источникам изменений в проекте" или по аспектам, которые связаны с жизненным циклом проекта (это может быть и вопросы, связанные с развёртыванием проекта и др.) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 17:35 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp qasta разбивать" на подмодули я бы стал не по предметной области - доменам, а по "источникам изменений в проекте" или по аспектам, которые связаны с жизненным циклом проекта (это может быть и вопросы, связанные с развёртыванием проекта и др.) И да, и нет - по функционалу и по предметке имеет смысл разбивать, если именно они изменяются в проекте (мы говорим про "основной объем работ"). Например, в интеграционном решении предметная область может не изменяться годами, а вот точки интеграции добавляться и убираться раз в неделю :). Такой проект не стоит нарезать по предметке (но по функционалу - надо, если под этим термином понимать "функция интеграции с тем-то и тем-то"). Термины эти слишком широкие, поэтому, "и да, и нет" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 17:43 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta Например, в интеграционном решении Берем проект ИС Завод. Далее эту ИС по ГОСТ мы функционально описываем. Это и есть куски. Интегрировать проект ГОТОВЫЙ завод с 1С? Зачем тут такое рассматривать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 17:56 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta Полностью согласен: в начале один репозиторий (как у ТС сейчас), а потом выделять отдельные подпроекты. С точки зрения работы с таким "многомодульным репозиторием" - git submodule . То есть нету одного репозитария. Сразу архитектор сделает 4 репо ОТДЕЛЬНЫХ. А потом при желании вставит один в другой подмодулем. Итого нет понятия Монорепозитарий и Монолит и Монолитные микросервисы (недавно было) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 17:59 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta Термины эти слишком широкие Пусть автор сделает 3 класса и 3 модуля. А потом вопрос задаёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:01 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Сразу архитектор сделает 4 репо ОТДЕЛЬНЫХ. А потом при желании вставит один в другой подмодулем. Итого нет понятия Монорепозитарий и Монолит и Монолитные микросервисы (недавно было) У меня другой опыт и мнение. "Сразу архитектор сделает" - это далеко не всегда так (обычно угадать получается, но бывает по-разному). 1. Сначала - один репозиторий, который растёт, развивается, обретает какую-то структуру. Потому что так удобнее всего и вообще непонятно вначале - как надо нарезать. 2. Потом примерно становится понятной структура и возможные способы нарезки. Начинаем отделять один-два крупных модуля. В первом репозитории они подключаются гитовыми подмодулями (есть инструменты для гита - можно выделить новый репозиторий со всей историей из каталога, но это немного портит историю). При этом новый репозиторий можно скачать отдельно и работать только с ним. 3. Новые модули в проекте добавляются сразу в виде отдельных репозиториев, которые можно подключать в первый проект. А можно и не подключать - это уже как вам будет удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:15 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic Всем привет! Есть проектик с Spring Cloud, модули в одном проекте и соответственно ветка в git одна. Есть желание, чтобы разные модули можно было коммитить в разные репозитории, предполагаю, что такая потребность возникала не у одного меня и возможность, скорее всего, такая есть. Может кто укажет направление куда двигаться? :) Очень не хочется создавать разные проекты для каждого сервиса и потом сидеть с кучей открытых инстансов Idea. Скорее всего тут единого решения не будет. А будет матрица стратегий с кучей ячеек где есть плюсы и минусы. Есть желание - надо трактовать как - "есть возможность выделить в проекте независимые части" которые компилируются и деплоятся например в локальный mvn/gradle repo независимо. Это хорошо. Это даёт разрабу концентрироваться на малой части исходного кода (когда фиксите ошибку) в полной уверенности что в другие модули лезть не надо там и так все гуд. Это плюс. С другой стороны отладчиком неудобно бегать если забыли запаблишить сорцы от всех модулей. Это минус. С другой стороны над модулем может рабоать отдельный разраб или тим. Это плюс. Еще с третьей стороны меж модулями можно ослаблять зависимости вплоть до 1 базового интерфейса с 1-2 методами. Это плюс. С четвертой стороны если что-то надо поменять в интерфейсе - надо много чего пересобрать и поломать и переключить мажорную версию билда. И проследить чтоб все модули подхватили. С пятой стороны - удобно для git когда проектов много. Может часть из них лежит даже в bitbucket. И имеют закрытые сорцы которые имеют статус ну.. если не тайны то хотя-бы нежелания пока их светить. Публичная часть - соотв в гитхабе. Это большой плюс. И так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:35 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta они подключаются ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:36 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta Сначала - один репозиторий, который растёт, развивается, обретает какую-то структуру. Потому что так удобнее всего и вообще непонятно вначале - как надо нарезать. Тогда конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:39 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp qasta они подключаются Не понял вопроса. Работать с репозитариями можно в любой комбинации. Чекаутить все репозитории не обязательно, чтобы собрать проект и работать с ним. Все нужные зависимости лежат в maven-репозитории (nexus), куда попадают при релизе или через CI. авторУгу. И ТЗ вы не пишите. И бизнес аналитика нет. Тогда конечно. Это философский вопрос. Я же написал - бывает по-разному :) Так-то с ТЗ, которое более менее стабильно в основных вопросах да да с грамотным аналитиком всегда приятно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 18:43 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta Не понял вопроса Сам файл лежит где надо, а ссылку воткнул в сюда. Это не деление на подмодули. Делит отдельный репо /Торговля /Производство /Бухи То есть обычный проект и никак не монолитный. qasta Это философский вопрос. Ты мне дай общее репо и я напишу так Код: java 1. 2. 3. 4.
И ты потом через 3 дня ничего не разделишь))). Зы. Радетели микросервисов сами предлагают писать монолиты в монолитном репо). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 19:18 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta, Вот ТЗ автор4. Требования к системе 4.1. Требования к системе в целом 4.1.1. Требования к структуре и функционированию системы Определяется перечень функциональных подсистем, их назначение и основные характеристики, требования к числу уровней иерархии и степени централизации системы. Система КХД должна быть централизованной, т.е. все данные должны располагаться в центральном хранилище. Система КХД должна иметь трехуровневую архитектуру (можно привести общую схему, на которой определить уровни. Например, первый - источник, второй - хранилище, третий - отчетность). В Системе предлагается выделить следующие функциональные подсистемы: - подсистема сбора, обработки и загрузки данных, которая предназначена для реализации процессов сбора данных из систем источников, приведения указанных данных к виду, необходимому для наполнения подсистемы хранения данных; - подсистема хранения данных, которая предназначена для хранения данных в структурах, нацеленных на принятие решений; - подсистема формирования и визуализации отчетности, которая предназначена для формирования бизнес-ориентированных витрин данных и отчетности. Указываются требования к способам и средствам информационного обмена между компонентами системы. В качестве протокола взаимодействия между компонентами Системы на транспортно-сетевом уровне необходимо использовать протокол TCP/IP. Для организации информационного обмена между компонентами Системы должны использоваться И вопроса деления на модули нет ещё с времен СССР. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2019, 19:44 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Радетели микросервисов сами предлагают писать монолиты в монолитном репо). "Радетели микросервисов" говорят, что прежде чем разделять приложение на части, в начале надо понять какие части будут. Потому что не факт, что "естественное" разделение не приведет к "распределенному монолиту", где связность между модулями будет очень сильная. С учетом того, что микросервисная архитектура идет об руку с agile-методологией разработки. То на начальном этапе никто вам не даст абсолютное точное ТЗ. В начале определяется только минимально рабочий прототип (т.е. то без чего приложение работать не будет). Который развивается по мере роста "хотелок". А то, что "говнокод" трудно разбить на модули, так это понятно. Для решения этой проблемы используется TDD. Методика, которая облегчает написание модульного кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 05:56 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
mad_nazgul "распределенному монолиту" Путь ТС изучает оркестровку веб сервисов и докеров. Если ему это надо. И начинает с Hello World. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 07:02 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul "распределенному монолиту" Путь ТС изучает оркестровку веб сервисов и докеров. Если ему это надо. И начинает с Hello World. Успокойся, все термины реально существуют и используются в общении между разрабами. Спасибо тебе за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 09:37 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp я к тому что подмодули в git это просто синтаксический сахар. Как ссылка на файл в линуксе. Это не деление на подмодули. Делит отдельный репо. Или я непонятно написал, или вы неверно прочитали. Но это каша какая-то. git submodule (файл .gitmodules) - это отдельный репозиторий. Конечно, можно это сделать так, что без клонирования этого второго репозитория в первый ничего работать не будет (будет похоже на ведущий в никуда симлинк), но я предлагаю делать репозитории действительно независимыми - чтобы можно было работать с каждым из них отдельно. Мы так и работаем. PetroNotC Sharp Радетели микросервисов сами предлагают писать монолиты в монолитном репо). Про микросервисы ничего не скажу - я их не проповедую в отличии от модульности ПО в широком смысле. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 09:41 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic термины реально существуют Это пятая тема про монолит, которого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 09:49 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
qasta, Да. Консенсус. Согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 09:50 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic термины реально существуют Это пятая тема про монолит, которого нет. Тут все врут значит, ошибаются? https://www.google.com/search?q=monolithic application ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 09:57 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic термины реально существуют Есть пруф, а то не ясно о чем это вообще? За чистоту РЯ борются с 18 века, если не раньше, да наверняка еще раньше, со времен появления лингвистики как таковой в отношение РЯ, который только зарождался, хз историю его не знаю, есть видосик 20 минутный на ютьюбе про историю РЯ. Блин, да при чем здесь вообще русский язык и его чистота, вообще пофиг на это)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 10:03 |
|
Модульный проект, разные репозитории для модулей
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp пропущено... недавно гарант выступил за чистоту русского языка. Я за чистоту терминов. Это пятая тема про монолит, которого нет. Тут все врут значит, ошибаются? https://www.google.com/search?q=monolithic application А тут? https://www.google.com/search?newwindow=1&sxsrf=ACYBGNT4F1AOL_epJYg9dLgYvW_er6Mn5g:1573196565783&ei=FRPFXf22L4rQrgS6vIK4Ag&q=Микросервисы buzzword&oq=Микросервисы buzzword&gs_l=mobile-gws-wiz-serp.3..33i160.11713.18638..19294...0.1..0.194.1688.0j12......0....1.........0i71j35i39j0i13i30.Deuh8uObWs4 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 10:04 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121036]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 396ms |
0 / 0 |