项目范围的源

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

创建新的 Azure Artifacts 源时,可以选择根据需求将源范围限定为项目或组织。 默认情况下,通过 Web 界面创建的源是项目范围的。

创建新源

按照这些说明选择适当的范围,以便创建项目范围或组织范围的源。

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

    显示“创建源”按钮的屏幕截图。

  2. 为源提供 名称 并选择其 可见性。 如果要包括公共注册表中的包,请选择上游源

  3. 如果要创建项目范围的源,请选择 “项目 ”,否则请选择“ 组织”。

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

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

注意

组织范围的源不能转换为项目范围的源。

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

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

  1. 可见性:

    • 项目范围的源继承项目的可见性。
    • 默认情况下,组织范围的源始终是专用的。
  2. 链接:

    • 项目范围的源的 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
  3. 用户界面

    • 所有组织范围的源都可以从源的下拉菜单获取。 若要在源列表中查看项目范围的源,必须导航到托管该源的项目。
  4. Connection:

    • 从同一组织中但位于不同项目中的 Azure Pipelines 管道连接到专用项目范围的源时,该源的范围限定为的项目必须允许访问其他项目的生成服务。 无论源的范围如何,生成服务也必须单独添加到源权限中。 有关详细信息,请参阅 包权限

安全策略

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

或者,可以使用 “创建源 API ”手动创建新的组织范围的源。 必须使用源权限 API 或项目源设置手动设置新源的默认权限。

重要

如果用户有权访问特定视图,并且他们无权访问源,他们仍然可以通过该视图访问和下载包。
如果要完全隐藏包,则必须限制对源和视图的访问。 有关详细信息,请参阅 源和视图权限

问答

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

答:如果要使源中的某些包可供组织中的所有用户使用,请创建或选择包含要共享的包的视图,并确保其可见性设置为我的组织中的人员。

问:如何使用 Azure Pipelines 访问另一个项目范围内的源?

为了使管道能够访问不同项目中的项目范围的源,必须向管道授予对源范围和源本身的项目的访问权限。

  • 项目设置:导航到托管源的项目,选择“项目设置>权限”,然后将管道的项目生成服务添加到“参与者”组或提供对其用户参与者访问权限的任何其他合适组。

  • 源设置:导航到要访问的源,选择设置>源权限,然后将项目生成服务添加源和上游读取者(协作者)。 项目 生成服务 标识以以下格式显示: [Project name] Build Service ([Organization name]) (例如 FabrikamFiber 生成服务(代码共享-演示)。

问:我想从另一个项目下载管道项目,但管道失败?

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

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

在下游项目中:Project 设置>Permissions>用户>搜索上游项目的名称,然后选择“展开搜索>选择上游项目的生成服务,并允许以下各项:查看项目级信息。