我计划开发一个多层 .NET 应用程序,至少三个独立的层托管在 Azure 上:
- 网络前端
- 后端/辅助角色
- 数据库
我想使用Azure Git Publishing与 GitHub 一起实现每个层的持续部署。组织 git 分支以单独为每个组件启用 Azure 部署,同时在它们之间共享代码的最佳方式是什么?
我希望将所有代码放在一个 git 分支中,并在 Azure 中为每个分支设置单独的构建/发布流程。但是,我怀疑这行不通,因为:
- Azure 使用分支中的任何推送来触发部署。我不希望前端更新触发后端部署。
- 据我所知,无法配置 Azure 用于生成要发布的输出的构建命令。
如果我需要使用单独的 Git 分支,在它们之间共享代码的最简单方法是什么?
最佳答案
先生好心
听起来您需要为每个部署目标提供一个 git 存储库。也就是说,每个层的存储库都希望独立于任何其他层进行部署。再加上一个共享代码的存储库。据推测,共享代码会编译为一些 dll,可以通过将它们捆绑为 NuGet 包来与其他项目共享。这样,Web 前端就不会在共享代码更新时突发奇想而触发部署。仅当您完成 NuGet 更新时才会发生这种情况。
也就是说,我想知道“不想更新前端来触发后端部署”真的是一个要求吗?在我的工作场所,我们几乎所有部署都是完全自动化的。没有停机时间,它只是工作。我们有时每天部署 5 次、10 次或更多次。我们不必关心有多少次。如果您也能做到这一点,那么您就可以拥有一个大型 git 存储库。是的,偶尔不影响层的更改仍然会部署该层,但是,嗯,不在乎。代码组织和共享变得非常简单。
你的 friend , 乔什
关于.net - 组织用于 Azure/GitHub 发布的 n 层应用程序分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361664/