【问题标题】:VSTS terminology and structureVSTS 术语和结构
【发布时间】:2018-05-03 06:34:55
【问题描述】:

VSTS 新手,但不是 Git。我们的小团队通常包含 Web 应用程序、Windows 应用程序、其他杂项应用程序/服务,我们也将数据库对象保存在 Visual Studio sql server 项目中。所以有 15-20 组左右不同的代码需要处理。目前,每个都有自己的 Git 存储库。

正在阅读关于单个与多个“团队项目”的 this 帖子。 然后,我早些时候发布了 this,但专门针对待办事项,但我想我真正的问题是关于“团队项目”这个概念的更大图景

对于拥有这么多应用程序的小团队来说,什么是好的结构。假设每个应用程序通常都是独立开发的,但您可能希望一起构建 2 个或更多这样的应用程序。

一个团队项目怎么样。多个“团队”,每个“应用程序”一个。 它的术语让我失望。

不同的团队可以各自使用不同的存储库吗?
每个团队可以有一组不同的构建定义吗?例如。开发/产品等

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    团队项目是相关应用程序组合的容器。一个团队项目可以包含一个或多个源代码存储库 (Git/TFVC)、构建、发布、测试用例、工作项等。所有这些实体都有定义安全性的方法,围绕谁可以查看/修改它们。

    团队只是团队项目中的一种组织结构。您可以使用安全权限将某些 repos、构建(或构建文件夹)等限制为某个团队。

    普遍接受的指导是将所有内容都放在一个团队项目中。有很多东西不跨越团队项目的界限,比如 repos。变通办法通常存在,但它们通常很尴尬。

    您提出的一项要求([我们] 可能想要一起构建 2 个或更多这样的应用程序)实际上有点棘手,无论 repos 是在一个团队项目中还是在多个团队项目中——构建定义可以连接到单个 repo。如果您需要引入额外的存储库,则需要使用子模块或添加额外的构建步骤来克隆第二个存储库。不过,我几乎可以保证,如果一切都在同一个团队项目中,那会更容易。

    对您提出的两个直接问题,一个词的答案是“是”。

    【讨论】:

      【解决方案2】:

      你如何设置你的结构真的取决于。有很多方法可以组织它。单个仓库,多个仓库。

      如果您使用 CI 构建,请记住构建中的获取源任务将下载您的完整存储库。因此,如果您有一个单一的回购策略,您的构建可能需要更长的时间才能运行。在这种情况下,您还需要做更多的工作来设置构建并指定路径过滤器以仅在 CI 流程上触发正确的构建。

      不同的团队可以各自使用不同的 repo 吗?

      是的,他们可以。

      您可以为每个团队创建一个安全组。

      然后,在您的团队中,您可以将其从 Contributes 中删除,并将您的新组添加为以下成员的一部分:

      之后,在您的版本控制设置中,添加您的新安全组并删除或拒绝对 Contributes 安全组的访问。这样,只有您的团队安全组才能访问该存储库。

      这是可选的。仅当您想隔离对您的存储库的访问时,您才需要这样做。

      每个团队可以有不同的构建定义集吗?例如。开发/产品 等等

      您可以为每个存储库设置构建。 如果您需要隔离谁有权访问,您可以通过更改每个构建的安全性、删除贡献者并添加您的安全组来实现。

      【讨论】:

        猜你喜欢
        • 2012-11-22
        • 2012-03-13
        • 1970-01-01
        • 1970-01-01
        • 2018-04-12
        • 2011-02-07
        • 2018-06-13
        • 2019-11-05
        • 1970-01-01
        相关资源
        最近更新 更多