Visual Studio с использованием GIT-репозитория Публикация с API и веб-сайтом в одном решении - PullRequest
0 голосов
/ 13 декабря 2018

У нас есть решение Visual studio Solution, которое содержит приложение WebAPI и веб-сайт MVC. Оба используют общий уровень доступа к данным проекта.

  • Решение
    • WebAPI
    • DAL
    • Веб-сайт

Нам необходимо разделить webAPI и веб-сайт на 2 отдельных решения для нашего конвейера выпуска Azure DevOps, но мы не уверены, где DALнужно жить так, как это требуется для обоих проектов, если мы действительно должны разделить их.Есть предложения?

1 Ответ

0 голосов
/ 13 декабря 2018

Подход 1

Если я правильно понимаю ваш случай, я бы оставил все 3 проекта в одном решении, но Azure Pipelines обрабатывает 2 сборки и выпуска.

Один конвейер для WebApi (сборка WebApi.csproj) и его развертывание на любой конечной точке, на которой у вас есть хостинг API (например, службы приложений).

Другой конвейер (но такое же решение VS и репозиторий GIT) дляВеб-сайт (сборка Website.csproj) и разверните его.

Вы можете сделать так, чтобы оба потока CI / CD зависели друг от друга, поэтому все было связано (например, запуск коммита на главной ветви в GIT).).

Подход 2

Если вы используете службу приложений Azure, вы можете фактически пропустить конвейеры Azure и связать свое хранилище напрямую со службами приложений (как веб-сайтом, так и WebApi).и укажите, какой проект следует построить с настройками приложения «ПРОЕКТ» (см. https://github.com/projectkudu/kudu/wiki/Deploying-inplace-and-without-repository для получения дополнительной информации).

Подход 3

Альтернативный подходбыло бы разделитьСоздайте проект DAL в своем собственном пакете Nuget, а затем поделитесь кодом между сетью и проектом API.Но это закончится решениями с 3 VS, которые я не считаю идеальными (если я правильно понимаю случай).

...