关于项目和缩放组织
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
项目为源代码提供存储库,以及用户规划、跟踪进度和协作以构建软件解决方案的位置。 项目表示在添加到Azure DevOps时存储数据的基本容器。
创建项目时,会自动创建同名团队。 这足以满足小型团队的需求。 但是,对于企业级组织,可能需要纵向扩展,才能创建更多团队和项目。 可以在单个帐户或集合中创建这些添加内容。
有关详细信息,请参阅 规划组织结构。
在一个内部定义的单个项目和团队
组织或集合
在一个内部定义的多个项目和团队
组织或集合
集合项目团队结构为团队提供了高度的自主性,以适合他们的方式配置其工具。 它还支持在适当级别执行管理任务。 随着组织的发展,你的工具可以发展,以支持 团队自治和组织协调的文化。
如何管理整个企业的工作?
如何缩放DevOps和敏捷工具以支持不断增长的企业?
连接到Azure DevOps时,可以连接到组织或项目集合。 在该容器中,可以定义一个或多个项目。 必须创建至少一个项目才能使用系统。
可以通过以下方式缩放组织:
- 若要支持不同的业务部门,可以添加项目
- 在项目中,可以添加团队
- 添加存储库和分支
- 若要支持持续集成和部署,可以添加代理、代理池和部署池
- 若要管理大量用户,可以通过Azure Active Directory管理访问权限
可以通过以下方式缩放本地Azure DevOps部署:
- 若要提高性能,可以添加服务器实例
- 若要支持不同的业务部门,可以添加项目集合和项目
- 在项目中,可以添加团队
- 添加存储库和分支
- 若要支持持续集成和部署,可以添加代理、代理池和部署池
- 若要管理大量用户,可以通过 Active Directory 管理访问权限
Azure DevOps Services和Azure DevOps Server是企业就绪的平台。 这些平台支持任何规模的团队,从数万到数千个。 Azure DevOps Services(云服务)提供可缩放、可靠且全局可用的托管服务。 它由 99.9% 的 SLA 提供支持,由我们的 24x7 运营团队监视,并在全球本地数据中心提供。
如何查看项目
可以通过打开 “项目” 页来查看为组织定义的项目。
选择
Azure DevOps打开项目。
从项目列表中选择一个项目。
若要创建或列出项目,请参阅“创建项目”
选择
Azure DevOps打开项目。
可以从列出的项目集中选择一个项目。

使用Project范围的用户组限制项目的用户可见性
默认情况下,添加到组织的用户可以查看所有组织和项目信息和设置。
将 用户可见性和协作限制为组织的特定项目 预览功能,以两种方式限制用户访问:
- 限制显示用户列表、项目列表、计费详细信息、使用情况数据等通过 组织设置访问的视图。
- 限制通过人员选取器搜索选择显示的用户或组集以及用户 @mention 的能力。
重要
- 本部分中介绍的有限可见性功能仅适用于通过 Web 门户的交互。 使用 REST API 或 azure devops CLI 命令,项目成员可以访问受限数据。
- 在 Azure AD 中具有默认访问权限的受限组中具有成员的来宾用户无法搜索具有人员选取器的用户。 当预览功能 关闭或来宾 用户不是受限组的成员时,来宾用户可以按预期搜索所有 Azure AD 用户。
限制对组织设置的访问
若要限制所选用户(如利益干系人、Azure Active Directory来宾用户或特定安全组的成员),可以启用“限制用户可见性”和“协作”功能,使其具有组织的特定项目预览功能。 启用后,添加到Project范围内的用户组的任何用户或组都受到限制,无法访问“概述”和“项目”以外的“组织设置”页;并且只能访问已添加到其中的那些项目。
若要启用此功能,请参阅 “管理”或“启用功能”。
注意
所有安全组都是组织级实体,即使是那些仅具有特定项目权限的组。 在 Web 门户中,某些安全组的可见性可能会根据用户权限受到限制。 但是,可以使用 azure devops CLI 工具或 REST API 发现组织中所有组的名称。 若要了解详细信息,请参阅 “添加和管理安全组”。
注意
所有安全组都是集合级实体,甚至那些仅具有特定项目权限的组。 在 Web 门户中,某些安全组的可见性可能会根据用户权限受到限制。 但是,可以使用 azure devops CLI 工具或 REST API 发现组织中所有组的名称。 若要了解详细信息,请参阅 “添加和管理安全组”。
注意
所有安全组都是集合级实体,甚至那些仅具有特定项目权限的组。 在 Web 门户中,某些安全组的可见性可能会根据用户权限受到限制。 但是,可以使用 REST API 发现组织中所有组的名称。 若要了解详细信息,请参阅 “添加和管理安全组”。
限制人员选取器中的可见性
使用 Azure Active Directory (Azure AD) 管理用户和组的组织可以使用人员选取器,这些选取器支持搜索添加到 Azure AD 中的所有用户和组,而不仅仅是添加到项目中的用户和组。 人员选取器支持以下Azure DevOps功能:
- 从工作跟踪标识字段中选择用户标识,例如“已分配给”
- 在工作项讨论或富文本字段中使用 @mention 选择用户或组、拉取请求讨论、提交批注或变更集或搁置批注
- 使用 wiki 页面中 @mention 选择用户或组
如下图所示,开始在人员选取器框中输入用户,直到找到与用户名或安全组匹配。

警告
当为组织启用特定项目预览功能的“限制用户可见性和协作”时,项目范围内的用户无法通过Azure Active Directory组成员身份(而不是显式用户邀请)搜索添加到组织的用户。 这是一种意外行为,正在处理解决方法。 若要自行解决此问题,请禁用 将用户可见性和协作限制为组织的特定项目 预览功能。
添加到Project范围的用户组的用户和组只能查看和选择他们从人员选取器连接到的项目中的用户和组。 若要限定所有项目成员的人员选取器的范围,请参阅 “管理组织”、“限制标识搜索”和“选择”。
历史数据仍可见
已添加到批注、讨论或分配的标识继续对所有项目成员可见。 例如,分配给自离开项目的用户的工作项,该工作项上的用户姓名对项目中的每个人仍然可见,甚至对具有新限制的用户也是如此。 在 PR、注释、讨论等中也是如此 @mentions 。
何时添加另一个项目
一般情况下,我们建议使用单个项目来支持组织或企业。 单个项目可最大程度地减少管理任务的维护,并支持最优化/完全灵活性 的跨链接对象 体验。
即使有许多团队处理数百个不同的应用程序和软件项目,也可以在单个项目中轻松管理它们。 项目用于隔离存储在其中的数据。 无法轻松地将数据从一个项目移动到另一个项目。 将数据从一个项目移动到另一个项目时,通常会丢失与该数据关联的历史记录。
有关何时添加另一个项目的详细信息,请参阅需要多少个项目?
添加另一个项目的原因
可能需要在以下实例中添加另一个项目:
- 禁止或管理对项目中包含的信息的访问权限以选择组
- 为组织中的特定业务部门支持自定义工作跟踪流程
- 支持拥有其自己的管理策略和管理员的完全独立的业务部门
- 在向工作项目推出更改之前,支持测试自定义活动或添加扩展
- 支持开源软件 (OSS) 项目
可能需要在以下实例中添加另一个项目:
- 禁止或管理对项目中包含的信息的访问权限
- 为组织中的特定业务部门支持自定义工作跟踪流程
- 支持拥有其自己的管理策略和管理员的完全独立的业务部门
- 在向工作项目推出更改之前,支持测试自定义活动或添加扩展
专用和公共项目
可以将公共项目和专用项目添加到组织。 还可以 将项目的可见性从专用更改为公共。
专用项目要求添加和管理用户访问。 用户必须登录才能访问项目,即使它是只读访问权限也是如此。 添加到项目的所有用户都有权访问项目和组织信息。 有关详细信息,请参阅 授予项目成员的资源。
公共项目不要求用户登录以获取对许多服务的只读访问权限。 公共项目支持与他人共享代码,并支持开源软件的持续集成/持续部署 (CI/CD) 。 若要了解有关公共项目的详细信息,请参阅 什么是公共项目?。
构建项目
添加项目时,请查看使用以下元素对其进行结构以支持业务需求:
- 为每个子项目或应用程序创建 Git 存储库,或在 TFVC 存储库中为每个子项目创建根文件夹。 如果使用 TFVC 并走向组合项目模型,请为不同的团队和项目创建根文件夹,就像在 Git 中创建单独的存储库一样。 可以根据需要保护文件夹,工作区映射可以控制你正在使用的存储库段。
- 定义区域路径 以支持不同的子项目、产品、功能或团队。
- 定义迭代路径 (也称为冲刺) ,可在团队之间共享。
- 为每个产品团队添加一个团队,该团队为产品开发一组功能。 你创建的每个团队都会自动为该团队创建安全组,可用于管理团队的权限。 另请参阅 项目组合管理。
- 使用自定义安全组授予或限制对选择功能和函数的访问权限。
- 创建查询文件夹 以将团队或产品区域的查询组织到文件夹中。
- 定义或修改 在项目级别设置的通知。
自定义和配置项目
你可以配置和自定义大多数服务和应用程序,以支持业务需求或团队的工作方式。 在每个项目中,可以执行以下任务。 有关可配置的资源的综合视图,请参阅 “关于团队”、“项目”和组织级设置。
- 仪表板:每个团队都可以 配置其一组仪表板 ,以共享信息并监视其进度。
- 源代码管理:对于每个 Git 存储库,可以应用分支策略并定义分支权限。 对于 TFVC 存储库,可以 设置签入策略。
- 工作跟踪:可以添加字段、更改工作流、添加自定义规则,并将自定义页面添加到大多数工作项类型的工作项窗体。 还可以添加自定义工作项类型。 有关详细信息,请参阅 自定义继承过程。
- Azure Pipelines:可以完全自定义生成和发布管道、定义生成步骤、发布环境和部署计划。 有关详细信息,请参阅 生成和发布。
- Azure Test Plans:可以定义和配置测试计划、测试套件、测试用例和测试环境。 还可以在生成管道中添加测试步骤。 有关详细信息,请参阅生成探索性&手动测试和持续测试。
- 仪表板:每个团队都可以 配置其一组仪表板 ,以共享信息并监视其进度。
- 源代码管理:对于每个 Git 存储库,可以应用分支策略并定义分支权限。 对于 TFVC 存储库,可以 设置签入策略。
- 工作跟踪:可以添加字段、更改工作流、添加自定义规则,并将自定义页面添加到大多数工作项类型的工作项窗体。 还可以添加自定义工作项类型。 有关详细信息,请参阅 自定义本地 XML 进程模型。
- 生成和发布:可以完全自定义生成和发布管道、定义生成步骤、发布环境和部署计划。 有关详细信息,请参阅 生成和发布。
- 测试:可以定义和配置测试计划、测试套件、测试用例和测试环境。 还可以在生成管道中添加测试步骤。 有关详细信息,请参阅生成探索性&手动测试和持续测试。
何时添加团队,跨企业缩放敏捷工具
随着组织的发展,请添加团队,向他们提供每个团队可以配置的敏捷工具以满足其工作流。 若要了解详细信息,请参阅以下文章。
- 将敏捷扩展到大型团队
- 关于团队和敏捷工具
- 管理 积压工作组合, 并深入了解每个团队的进度和所有计划的进度。
- 使用 交付计划 查看团队计划交付的故事或功能的计划。 交付计划通过冲刺 (针对日历视图) 所选团队的迭代路径显示计划的工作项。
- 以增量方式采用 规模化的做法, 以在组织中创造更大的节奏和流动,吸引客户,提高项目可见性,并开发高效员工。
- 构建项目,以跨 团队或 支持 史诗、发布训练和多个积压工作来支持缩放敏捷框架。
若要查看有关 Microsoft 如何从瀑布过渡到敏捷的故事和简短视频,请参阅跨Enterprise缩放敏捷。
支持连接到项目的客户端
除了通过 Web 浏览器进行连接外,还可以从以下客户端连接到项目:
另请参阅:与Azure DevOps Server版本的兼容性。
问题解答
问:是否可以将项目移动到另一个组织或集合?
答: 不需丢失数据。 无法将项目从一个集合/组织移动到另一个集合/组织,而不会丢失数据。 可以手动复制资源并留下一些内容,或使用第三方工具(如 OpsHub Visual Studio 迁移实用工具)使用 REST API 复制数据。
问:哪些编程工具支持项目?
A. 请参阅 Projects REST API。
此外,可以使用 az devops 项目 命令。