Azure DevOps-组织项目和存储库

时间:2019-04-10 12:36:45

标签: azure-devops azure-pipelines tfvc azure-repos azure-boards

(在此处发布问题,因为这是Microsoft使用“需要建议?询问社区”按钮重定向到的“社区”。希望它不会因“主要基于意见”或“范围太广”而关闭')

你好

我想开始在部门中使用AzureDevops来组织代码和工作。我们是一个小团队,创建了大量应用和插件。

其中一些应用程序的生命周期很短[strong] ,即我们提供了这些应用程序,并且这些应用程序可以正常使用多年,无需更改。其他应用较大,并且会在数月或数年内更新/修复
这些应用程序在各个方面均彼此完全独立

据我了解Azure DevOps的结构,我的部门应该成为“组织”(我们可以/需要与公司的其他部门分开)。

我对“项目”部分有些疑惑。文档说

  

通常,我们建议您使用一个项目来支持您的组织或企业。

因此,假设我们有一个名为Our Apps的项目-然后将所有单个应用程序项目放在哪里?

据我了解,我们提供的每个产品(应用程序)都应具有自己的存储库(或一组应用程序,如果它们在逻辑上是连接的)。

这是为了允许开发人员仅在其计算机上克隆存储库并仅对该产品做出贡献,而无需下载其他项目等。

我需要能够:

  • 轻松浏览/查看我们创建的所有数十个(数百个)应用程序,
  • 查看其单独的看板板(对于那些拥有此板的项目,并非所有人都可以)
  • 查看其存储库(Git或TFS),提交等
  • 查看和管理其管道

在我看来,目前唯一可以看到 产品 “列表”的地方是以下下拉列表:

enter image description here

查看足够多的产品的唯一方法是创建一个新的单独的“ SomeApp团队” 在该项目中(即使其中有相同的人),这样我就可以为SomeApp创建一块木板-并从此处查看这些木板:

enter image description here

  1. 这是组织结构的预期方式吗?
  2. 还有其他方法吗?
  3. 是否有任何方式可以提供“跨存储库”或“跨团队”概述?
  4. 如何为每个“产品”创建文档?

2 个答案:

答案 0 :(得分:2)

one project to rule them all”是由马丁·欣谢尔伍德(Martin Hinshelwood)撰写的,他的博客文章是从回溯的角度解释了原因和局限性。

在待办事项列表中引入了标记和过滤功能后,在一个项目的设置中便有了另一种方法。

  • 为组织中的真实团队创建团队。
  • 为组织中的每个主要项目/产品创建区域路径。
  • 将这些团队的项目区域路径分配给团队。这可以随着时间而改变。
  • (可选)用主要项目/产品标记工作项,以进行其他过滤。

这样,每个团队都能看到他们可以从中完成的所有工作的完整视图。他们可以在讨论特定项目/产品时按标签快速过滤工作,以从视图中删除项目。

此外,当团队将重点从一个产品/项目更改为另一产品/项目时,您只需更改为该团队分配的区域即可更新其视图。

Plan View扩展名提供了跨所有工作的附加跨团队视图。并且Dependency Tracker扩展名可以直观显示随时间变化的依赖关系。

您还可以使用Epic / Feature / PBI | UserStory树结构在工作项中创建其他分组。您可以自定义流程模板以引入产品级别,尽管要使计划功能正常工作,那还意味着您还必须创建从产品到PBI | UserStory的完全可追溯性。

主要建议是尝试以轻量化的方式尝试其中的一些方法,以了解它们的工作原理并找到自己理想的设置。

跨项目可视化的另一个选项是启用Analytics Extensionconnect it to PowerBI

您很快就会发现,标记,存储库,管道的命名准则将非常重要。要能够快速过滤到正确的级别,就需要这样做。

答案 1 :(得分:0)

在这里询问是因为我的情况似乎与所描述的@Bartosz类似。我们在TFS中有100多个存储库,分为目录和子目录。我们正在考虑将所有内容都移到Azure Devops中,利用CI或Artifacts的管道。目前,我们对进入工作项目或董事会不感兴趣。我们只是试图能够组织,管理和浏览存储库,例如,我们可以

  1. 管理对这些存储库的访问。
    • 将开发人员添加到组中,使他们可以通过git clone来访问大多数存储库,但不能使用git push
    • 将开发人员添加到较小的组中,这将使他们可以通过git push访问某个团队的存储库,
    • 将开发人员添加到一个非常小的小组中,这将使他们能够访问某些超级秘密存储库
  2. 在已归档的状态下带来大量遗留代码。因此,这在我通常的日常回购浏览体验中是不可见的,但是如果需要去挖掘的话,该功能是可用的。
  3. 浏览,过滤我的回购视图以查看
    • 属于某个较大系统的存储库。
    • 是api解决方案,web ui解决方案或移动解决方案等的存储库。
    • 依赖于X的存储库,其中X可以是.dll,api,特定数据库等。

因此,我在上面研究了一个项目概念和其他相关建议,如果我要管理工作项,那么听起来很不错,但是对于一种灵活的方式来组织,导航和管理代码存储库,我没有发现任何鼓舞人心的东西。

我确实找到了这个线程,听起来好像其他人也在为同样的需求而苦苦挣扎:https://developercommunity.visualstudio.com/content/idea/365451/allow-organizinggrouping-git-repositories-in-a-tea.html

我发现此扩展名可能对其中的某些https://marketplace.visualstudio.com/items?itemName=ms.vss-code-search

有帮助

对于具有大量代码存储库的大型组织,是否存在推荐的方法来迁移到Azure DevOps?