.net - 组织用于 Azure/GitHub 发布的 n 层应用程序分支

标签 .net git azure github n-tier-architecture

我计划开发一个多层 .NET 应用程序,至少三个独立的层托管在 Azure 上:

  • 网络前端
  • 后端/辅助角色
  • 数据库

我想使用Azure Git Publishing与 GitHub 一起实现每个层的持续部署。组织 git 分支以单独为每个组件启用 Azure 部署,同时在它们之间共享代码的最佳方式是什么?

我希望将所有代码放在一个 git 分支中,并在 Azure 中为每个分支设置单独的构建/发布流程。但是,我怀疑这行不通,因为:

  1. Azure 使用分支中的任何推送来触发部署。我不希望前端更新触发后端部署。
  2. 据我所知,无法配置 Azure 用于生成要发布的输出的构建命令。

如果我需要使用单独的 Git 分支,在它们之间共享代码的最简单方法是什么?

最佳答案

先生好心

听起来您需要为每个部署目标提供一个 git 存储库。也就是说,每个层的存储库都希望独立于任何其他层进行部署。再加上一个共享代码的存储库。据推测,共享代码会编译为一些 dll,可以通过将它们捆绑为 NuGet 包来与其他项目共享。这样,Web 前端就不会在共享代码更新时突发奇想而触发部署。仅当您完成 NuGet 更新时才会发生这种情况。

也就是说,我想知道“不想更新前端来触发后端部署”真的是一个要求吗?在我的工作场所,我们几乎所有部署都是完全自动化的。没有停机时间,它只是工作。我们有时每天部署 5 次、10 次或更多次。我们不必关心有多少次。如果您也能做到这一点,那么您就可以拥有一个大型 git 存储库。是的,偶尔不影响层的更改仍然会部署该层,但是,嗯,不在乎。代码组织和共享变得非常简单。

你的 friend , 乔什

关于.net - 组织用于 Azure/GitHub 发布的 n 层应用程序分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361664/

相关文章:

.net - 创建WCF Web服务实例时发生InvalidOperationException

执行 ssh-add 后 Git 不断询问我的密码

免费套餐中的 Azure 应用服务状态为 : QuotaExceeded

node.js - 如何在特定阶段将数据从 azure cosmos db 备份到 azure blob?

c# - 如何将十六进制转换为 0x... 字节格式 (C#)

.net - .net 应用程序中的内存泄漏 + 奇怪的 GC 行为

c# - 在c#中将字符串转换为文件流

Git推送失败,寻找部分文件历史删除

git - check out 标签时如何减少 git 输出

azure - 数百个 Application Insights 快照调试日志文件 - 我们没有故意打开它们