为新的云应用程序组织 Visual Studio 团队服务

Organizing Visual Studio Team Services for a new cloud app

在为新的云应用程序组织 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 专家,但我想从头开始。

P.S。我在 SO 上看到了一些类似的问题,但认为他们没有回答我的问题,尤其是关于不创建团队项目的部分。

Visual StudioTeam Services(和本地 Team Foundation Server)支持团队项目集合、团队项目和团队的概念。

TPC 是分离度最高的。目前,您在 VSTS 上获得一个 DefaultCollection。在此集合中,您可以创建单独的团队项目。在一个团队项目中,您有一个或多个团队。

当前的最佳实践表明,单个团队项目最容易处理。简而言之,这使您可以更轻松地共享代码、工作项和其他资产,同时仍然拥有单独的积压工作和代码存储库。

有关更详细的解释,请参阅有关此主题的几个博客,例如:

在您的场景中,我绝对会使用一个团队项目,然后为每个单独的应用程序使用多个团队。在顶级团队中,您可以安排 Epics and Features 并将这些分配给实施团队。

如果我今天开始这样的项目,我也会选择 Git 作为 Source Control。 Git 和 TFVC 均受支持,但 TFVC 无处可去。 Git 然而确实有 some advantages 我认为非常有吸引力。

关于您的文件夹结构。如果 App1 和 App2 需要一起发布,它们应该位于共享分支中。如果能单独发布,应该有自己的分支。

ALM Rangers 有一份关于版本控制的很棒的文档,其中解释了不同的分支模型。这是freely available on CodePlex