【问题标题】:How to organize projects and libraries on visualstudio.com tfs?如何在 visualstudio.com tfs 上组织项目和库?
【发布时间】:2014-05-30 01:35:51
【问题描述】:

我发现在我的 xxx.visualstudio.com 帐户中我只能拥有一个项目集合(defaultcollection)。我想做的是组织项目和文件夹(我有一些由不同网站共享的库项目),但我找不到任何方法可以做到这一点,我也没有找到任何关于这样做的文档......

只有我需要这个吗?

理想的结构应该是这样的:

默认集合

---图书馆1

---图书馆2

---图书馆3

---网站1

---网站2

---网站3

然后每个网站链接并使用任何图书馆项目。

应该很容易...

AB

【问题讨论】:

  • 您可以在 TFS 中为您所有不同的站点和库创建新项目。我目前在我的 visualstudio.com 存储库中有大约 14 个
  • 是的,但看起来我只能在主解决方案添加项目,而不是放在一边:我错过了什么???跨度>
  • 我不确定您在这里得到了什么...您可以向 DefaultCollection 添加任意数量的解决方案。在每个解决方案中,您可以根据需要添加任意数量的单独项目
  • 首先感谢您的热心回答,非常感谢。我想做的是在不同的解决方案中share 库:所以我想将它们bubble 放到顶层,以明确它们是通用库。 ..

标签: visual-studio tfs azure-devops


【解决方案1】:

首先:将所有内容都放在一个 TPC 中,无论是 Visual Studio Online 还是自托管服务,除非您是一家拥有多个部门的大型公司。即便如此,我认为您实际上并不需要多个 TPC。 其次:通常你会希望尽可能少地使用团队项目;您拥有的越多,更新流程模板、工作项等时维护的可能性就越大。如果您跨产品使用相同的流程模板,这可以让生活变得更简单。 第三:Blankenship 等人的 Professional Team Foundation Server 2012 书中有一个很棒的部分。关于各种场景的分支/版本控制设置,包括这个,但我会重复我认为与您相关的内容,以及对我们有用的内容(嗯,我正在帮助我们朝着什么方向前进)。 这可能有点离题,但我认为我需要更深入一点才能正确回答这个问题。 让我从基本的分支结构开始。

  • 产品 1:主要,然后是开发和发布分支。
  • 产品 2:Main,然后是 Dev 和 Release 分支。
  • 内部库:Main,然后是 Dev 和 Release 分支。

这里有几个问题 - 您是否希望将内部库发布为 .dll、NuGet 包或 .csprojs 等包含在您的 Prod1 和 Prod2 解决方案中?

假设 .dlls/nuget 为简单起见,并避免我们遇到棘手的问题,我们假设我们有 Prod 1 和 Prod 2 使用相同版本的已发布内部库发布分支。任何要完成的修复都被视为针对发布的生产修补程序,然后重新发布发布并将修补程序合并到其他分支。 针对 Dev 进行内部代码的持续开发,针对 Main 进行稳定化/RC。

假设您将内部库项目直接添加到 Prod1/Prod2 解决方案 - 创建解决方案文件夹 InternalLibraries,然后在其中添加 .csprojs。问题是您指的是内部图书馆的哪个分支?您需要多么前沿来回答这个问题 - 如果发布,您就可以发布 dll 或 NuGet。如果是 Main,您可以帮助验证 Internal Library 是否已准备好合并到 Release 和发布。如果是 Dev,你是一个勇敢的灵魂,基本上在做持续集成,所以我会考虑取消 Internal Library Dev 分支并坚持使用 Main 和 Release。或者您可以匹配分支 - Prod1 Dev -> Internal Library Dev、Prod1 Main -> Internal Library Main 等。这种假设内部库和您客户的产品的发布周期相同。

好的,这在源代码管理中会是什么样子?假设每个产品有一个团队项目:

$/Prod1 主要的 开发 发布

$/Prod2 主要的 开发 发布

$/内部库 主要的 开发 发布

在解决方案中: Prod1.sln
内部库\ 内部库1 AllYourOtherStuff\

我确实建议将您的分支保持在同一级别(即 $/Prod1/Main 和 $/Prod1/Dev 而不是 $Prod1/Main 和 $/Prod1/Features/Feature1,因为如果在您直接将内部 .csproj 文件添加到您的 Prod1 .sln。如果您使用 .dll 或 NuGet 发布,这会变得更容易。

那么您只需要正确设置本地和 Team Build 工作区,您就(应该)是金子了。

显然还有很多关于这个主题的内容,但如果我的思路是正确的,并且您需要更多反馈,请告诉我。我有一种感觉,这可能已经是矫枉过正或没有回答问题:-P

【讨论】:

  • 这真的太多了...... :-) 你处理了我仍然要遇到的问题,并分析......我的问题,现在,只是在'物理'级别(源文件组织) .尽管如此,我觉得你的想法很有趣,我已经读了三遍了! :-)
  • 很高兴他们能提供帮助,但我为过度解释道歉 - 这绝对是我正在努力的事情 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
相关资源
最近更新 更多