Миграция классического решения ASP.NET в Azure Repo - PullRequest
0 голосов
/ 29 мая 2019

Наша команда разработчиков развертывает около 6 приложений ASP.NET (веб-формы, сервис SOAP, сервис RESTful и исполняемые файлы).Все эти приложения ссылаются на одни и те же библиотеки .DLL, которые содержат большую часть нашего бизнес-кода, и эти библиотеки ссылаются на несколько библиотек низкоуровневой инфраструктуры и безопасности (это все в C #).Прямо сейчас все это размещено в TFVC на лазурном.

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

Нам понадобится конвейер для каждого из этих приложений, и мы пытаемся найти наилучший способ (1) структурировать наши проекты в репозитории Repos и (2) как лучше всего ссылаться на библиотеки.

Должны ли библиотеки быть встроены в пакеты, а затем мы будем ссылаться на них из потока артефактов, который мы добавляем в конвейеры?Кроме того, должно ли каждое приложение и библиотека быть своим собственным проектом в хранилище или он будет лучше работать как один большой проект?Я не уверен, что на эти вопросы есть однозначные ответы, но я надеюсь, что у меня будут какие-то указания или рекомендации.

1 Ответ

0 голосов
/ 30 мая 2019

Должны ли библиотеки быть встроены в пакеты, а затем мы ссылаемся на них из фида артефактов, который мы помещаем в конвейеры?

Сборка библиотеки в пакет является хорошим выбором, особенно те библиотеки, на которые ссылаются несколько приложений. Использование пакета nuget уменьшит отношения цитирования между проектами, упрощая нам управление нашими проектами.

Проверьте эту ветку для получения дополнительных преимуществ Nuget и эту ветку для выбора Ссылка на проект или NuGet .

, если каждое приложение и библиотека должны иметь свой собственный проект в репозиторий или он имеет тенденцию работать лучше как один большой проект?

Как вы знаете, на этот вопрос сложно дать однозначный ответ. Хотя все больше и больше голосов теперь поддерживают monorepos, но рекомендуется, чтобы у monorepos все еще возникали противоречия, и, действительно, в некоторых случаях мы все еще хотим иметь несколько репозиториев, например:

  • Один репозиторий будет слишком большим, чтобы быть эффективным.
  • Ваши репозитории слабо связаны или не связаны.
  • Разработчику обычно требуется только один или небольшое подмножество ваших хранилища для разработки.
  • Как правило, вы хотите разрабатывать хранилища независимо друг от друга, и нужно только синхронизировать их время от времени.
  • Вы хотите поощрять больше модульности.
  • В разных хранилищах работают разные команды.

Итак, как сказал DJ, вы должны выбрать сами .

Вы можете проверить следующие темы для получения дополнительной информации по этой теме:

Почему вы должны использовать один репозиторий для всех проектов вашей компании

Выбор между одним или несколькими проектами в репозитории git?

Надеюсь, это поможет.

...