Наша команда разработчиков развертывает около 6 приложений ASP.NET (веб-формы, сервис SOAP, сервис RESTful и исполняемые файлы).Все эти приложения ссылаются на одни и те же библиотеки .DLL, которые содержат большую часть нашего бизнес-кода, и эти библиотеки ссылаются на несколько библиотек низкоуровневой инфраструктуры и безопасности (это все в C #).Прямо сейчас все это размещено в TFVC на лазурном.
Мы создаем новую организацию Azure и переносим все в Azure Git, и что более важно, мы настраиваем CI / CD с помощью конвейеров.До этого момента у нас было только одно гигантское решение, которое мы используем для развертываний, которое содержит все.Проекты приложения просто используют ссылки на проекты библиотечных проектов, и когда я собираю для развертывания, он создает все это.Затем мы просто публикуем каждое приложение независимо с помощью веб-развертывания на наших виртуальных машинах Azure.
Нам понадобится конвейер для каждого из этих приложений, и мы пытаемся найти наилучший способ (1) структурировать наши проекты в репозитории Repos и (2) как лучше всего ссылаться на библиотеки.
Должны ли библиотеки быть встроены в пакеты, а затем мы будем ссылаться на них из потока артефактов, который мы добавляем в конвейеры?Кроме того, должно ли каждое приложение и библиотека быть своим собственным проектом в хранилище или он будет лучше работать как один большой проект?Я не уверен, что на эти вопросы есть однозначные ответы, но я надеюсь, что у меня будут какие-то указания или рекомендации.