使用 GIT 存储库的 Visual Studio 在一个解决方案中使用 API 和网站发布

我们有一个包含 WebAPI 应用程序和 MVC 网站的 Visual Studio 解决方案,它们都使用共享项目数据访问层。

  • 解决方案

    • 网络API

    • 来自

    • 网站

我们需要将 webAPI 和网站分成 2 个单独的解决方案,用于我们的 Azure DevOps 发布管道,但我们不确定 DAL 需要放在哪里,因为这对两个项目都是必需的,如果我们确实需要拆分它们。有什么建议么?


慕沐林林
浏览 210回答 1
1回答

慕运维8079593

方法一如果我理解你的情况是正确的,我会让所有 3 个项目留在同一个解决方案中,但让 Azure Pipelines 处理 2 个构建和发布。WebApi 的一个管道(构建 WebApi.csproj)并将其部署到您拥有 api hostet 的任何端点(例如应用程序服务)。网站的另一个管道(但相同的 VS 解决方案和 GIT 存储库)(构建 Website.csproj)并部署它。实际上,您可以使两个 CI/CD 流相互依赖,因此所有内容都捆绑在一起(例如,在 GIT 中的主分支上触发提交)。方法二如果您使用 Azure App Service,您实际上可以跳过 Azure Pipelines 并将您的 repo 直接链接到您的 App Services(网站和 WebApi),并指定应使用“PROJECT”应用程序设置构建哪个项目(请参阅https://github .com/projectkudu/kudu/wiki/Deploying-inplace-and-without-repository了解更多信息)。方法 3另一种方法是将 DAL 项目分离到它自己的 Nuget 包中,然后在 Web 和 API 项目之间共享代码。但这最终会出现在 3 VS 解决方案中,我认为这并不理想(如果我理解正确的话)。
打开App,查看更多内容
随时随地看视频慕课网APP