2013-01-16 38 views
0

我计划建立一个多层次的.NET应用程序,至少有三个独立的层托管在Azure上:组织的N层应用分支为天青/ GitHub上发布

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

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

最好,我想在一个git分支中拥有所有代码,并为Azure中的每个分支建立单独的构建/发布流程。但是,我怀疑这是行不通的,因为:

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

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

回答

0

this related question,Azure的混帐发布仅适用于网站,而不是云服务。

因此,允许单独项目发布的组织问题是无关紧要的。最简单的选择是将项目保留在单个Git分支中,并使用传统的Azure部署(而不是自动Git发布)。

2

的SIR,

这听起来像你需要为每个部署目标一个混帐回购协议。也就是说,希望独立于任何其他层进行部署的每个层的回购。再加上一个共享代码的回购。据推测共享代码可以编译为某些dll,这些dll可以通过将其捆绑成NuGet包与其他项目共享。例如,这样Web前端就不会在共享代码更新的时候触发部署。只有在您完成NuGet更新时才会发生这种情况。

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

你的朋友, 乔希

+0

感谢您的回复。我明白你的观点不会担心无关的部署,但我也希望部署目标的逻辑分离。同时,发布NuGet包或类似似乎过度杀毒,我头git submodules可能是我正在寻找的答案。 –