源范围:项目与组织源

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Artifacts 使开发人员能够从单个源管理其依赖项。 源充当组织空间来托管各种类型的包,无论是组织中的团队成员,还是公共用户,都能控制谁可以访问它。

在 Azure Artifacts 中创建新源时,可以根据你的方案选择将其范围限定为项目或组织。 但是,Azure Artifacts 建议将新源的范围限定为项目。 在本文中,你将了解两种类型的源之间的主要区别。

创建源

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目”,然后选择“创建源”

  3. 为源提供“名称”,选择其“可见性”以指定谁可以查看包,如果想要包含来自公共源(如 nuget.org)的包,请选中“包含来自公共源的包”复选框

  4. 在“范围”下,选择“项目”以创建项目范围内的源;如果需要组织范围内的源,请选择“组织”。

  5. 完成操作后,选择“创建”

    显示如何创建项目和组织范围的源的屏幕截图。

注意

组织范围的源无法转换为项目范围的源。

项目范围内与组织范围内源

对于项目范围内的源,其范围限定为项目而不是组织。 下面是两种类型的源之间的主要区别:

类别 项目范围的源 组织范围的源
可见性 继承项目的可见性。 默认情况下始终是专用的。
链接 URL 包含项目名称。
示例: https://pkgs.dev.azure.com/<ORG_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
URL 不包含项目。
示例: https://pkgs.dev.azure.com/<ORG_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
用户界面 仅在导航到承载源的项目后才可见。 始终可以从源下拉菜单中获取。
连接 若要访问同一组织中不同项目中管道生成的源,必须为 项目集合生成服务 和运行该管道项目的 生成服务 授予相应的角色。 只需向 项目集合生成服务 授予相应的角色。

注意

要将来自不同组织的源添加为上游源,目标源所有者必须通过以下方法与“与我的 Microsoft Entra 租户相关联的组织中的所有源和人员”共享目标视图:导航到“源设置”>>“视图”,选择指定视图右侧的省略号按钮 >“编辑”。

提示

如果要将额外的安全性层添加到项目范围内的源,并保护源的可见性,则可以从“组织策略设置”禁用“允许公共项目”策略。

问答

问:如何与组织中的所有用户共享包?

答:若要使源中的特定包可供组织中的所有用户访问,请创建或选择包含要共享的包的视图,并将其可见性设置为我组织中的人员

重要说明

如果用户有权访问特定视图,则即使没有源级权限,他们仍然可以从该视图中查看和下载包。 如果要完全限制对包的访问,请确保对源及其视图的权限都受到限制。 有关更多详细信息,请参阅源和视图权限

问:如何从我的管道中访问另一个项目中的项目范围的源?

若要允许管道访问不同项目中项目范围内的源,需要在项目级别(托管源的位置)和源级别授予访问权限。

  • 项目权限:前往承载源的项目,选择项目设置>权限,然后将你的管道的项目生成服务添加到读取者组。

  • 源权限:导航到要访问的源,选择 “设置>源”权限,然后使用以下角色之一添加 项目生成服务

    • 源和上游读取者(协作者):如果要从源查看或下载包,或保存来自上游源的包。
    • 源发布者(参与者):如果要发布、升级或弃用包,以及查看或下载源中的包,或保存来自上游源的包。

Project 生成服务标识的格式为: [Project name] Build Service ([Organization name])。 示例:FabrikamFiber 生成服务(代码共享-演示)。

问:如何从同一组织中的另一个项目下载管道项目?

答:如果管道无法从另一个项目下载项目,请确保为下游项目和生成项目的管道设置以下权限:

  • 在生成项目的管道上(上游项目):选择省略号以获取更多选项 >“管理安全性”> 搜索下游项目的生成服务,然后允许以下权限:更新生成信息查看生成管道查看生成

  • 在下游项目中:导航到“项目设置”>>“权限”“用户”> 搜索上游项目的名称,然后选择“展开搜索”> 选择上游项目的生成服务并启用“查看项目级信息”

问:如果我在新源中启用上游源并将其可见性设置为“Microsoft Entra 租户的成员”,是否仍需要将 Microsoft Entra 用户添加到包含该源的 Azure DevOps 组织?

A:是的,仍然需要将用户添加到 Azure DevOps 组织中,他们才能访问源中的包。 可以从组织设置>安全>权限将它们添加为项目集合有效用户