是否有针对新 Cloud 应用程序组织Visual Studio Team Services的指南和最佳实践?我计划为REST服务创建一个WebAPI解决方案,一个用于移动客户端的Xamarin Forms解决方案,一个用于Web的MVC解决方案,最后是SQL脚本 . 理想情况下,我想用自己的源代码来说明未来的应用程序 .
Dev
App1
WebAPI
XamarinForms
MVC
SQL
App2
...
...
Test
Prod
另一种方法是为每个App创建一个项目
App1
Dev
WebAPI
XamarinForms
MVC
SQL
Test
...
Prod
...
App2
...
我也看到人们把一切都放在一个集合下的一个巨型项目中 . 因此,我们不是在第一个树中创建Dev,Test,Prod项目,而是将它们创建为文件夹 . 与第二棵树相同 . 为什么我不想创建多个团队项目?
我不是TFS专家,但我想开始做好准备 .
附:我在SO上看到了一些类似的问题,但他们认为他们没有回答我的问题,尤其是关于不创建团队项目的部分 .
1 回答
Visual Studio Team Services(和Team Foundation Server内部部署)支持团队项目集合,团队项目和团队的概念 .
TPC是最高程度的分离 . 目前,您在VSTS上获得一个DefaultCollection . 在此集合中,您可以创建单独的团队项目在团队项目中,您有一个或多个团队 .
目前的最佳实践表明,单个团队项目最容易使用 . 简而言之,这使您可以更轻松地共享代码,工作项和其他资产,同时仍然具有单独的积压和代码存储库 .
有关更详细的说明,请参阅有关此主题的几个博客,例如:
Why You Should use a Single (Giant) TFS Team Project
One Team Project to rule them all
Many Git Repositories, but one Team Project to rule them all
在您的场景中,我绝对会选择一个团队项目,然后是每个单独的应用程序的多个团队 . 在顶级团队中,您可以安排Epics and Features并将这些分发给实施团队 .
如果我今天开始这样一个项目,我也会选择Git for Source Control . Git和TFVC都受到支持,TFVC无处可去 . 但是Git确实有some advantages,我觉得它非常有吸引力 .
关于你的文件夹结构 . 如果App1和App2需要一起发布,它们应该位于共享分支中 . 如果它们可以单独发布,它们应该有自己的分支 .
ALM Rangers有一个关于版本控制的精彩文档,它解释了不同的分支模型 . 这是freely available on CodePlex .