源范围:项目与组织源
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts 使开发人员能够从单个源管理其依赖项。 源充当组织空间来托管各种类型的包,让你能够控制谁可以访问它,无论是组织中的团队成员,还是公共用户。
在 Azure Artifacts 中创建新源时,可以根据方案选择将其范围限定为项目或组织。 但是,Azure Artifacts 建议将新源的范围限定为项目。 在本文中,你将了解两种类型的源之间的主要区别。
创建源
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择“创建源”。
为源提供名称,选择其可见性以指定谁可以查看包,如果想要包含来自公共源(如 nuget.org)的包,请选中“包括公共源中的包含包”复选框。
在“范围”下,选择“项目”以创建项目范围的源;如果需要组织范围的源,请选择“组织”。
完成操作后,选择“创建”。
注意
组织范围的源不能转换为项目范围的源。
项目范围内与组织范围内源
对于项目范围内的源,其范围限定为项目而不是组织。 下面是两种类型的源之间的主要区别:
类别 | 项目范围的源 | 组织范围的源 |
---|---|---|
可见性 | 继承项目的可见性。 | 默认情况下始终是专用的。 |
链接 | 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 |
用户界面 | 仅在导航到承载源的项目后才可见。 | 始终可从源下拉菜单中获取。 |
Connection | 若要从同一组织中的不同项目中运行的管道访问源,必须在源设置中向源发布服务器(参与者)角色授予运行管道的项目的项目集合生成服务和项目的生成服务标识。 | 只需在源设置中分配项目集合生成服务源发布者(参与者)角色。 |
注意
若要将来自其他组织的源添加为上游源,目标源所有者必须与与我的 Microsoft Entra 租户关联的组织中所有源和人员共享目标视图,方法是导航到“源设置视图>”>,选择指定视图>右侧的省略号按钮,然后选择“编辑”。
提示
如果要将额外的安全性层添加到项目范围的源,并保护源的可见性,则可以禁用 “允许公共项目 ”策略,从 组织策略设置。
问答
问:如何与组织中的所有用户共享包?
答:若要使源中的特定包可供组织中的所有用户访问,请创建或选择 包含要共享的包的视图 ,并将其可见性 设置为组织中的人员。
重要
如果用户有权访问特定视图,则即使没有源级权限,他们仍然可以从该视图中查看和下载包。 如果要完全限制对包的访问,请确保源及其视图的权限都受到限制。 有关更多详细信息,请参阅 源和视图权限 。
问:如何从管道访问另一个项目范围内的源?
若要允许管道访问不同项目中的项目范围的源,需要向管道授予对源范围和源本身的项目的访问权限。
项目权限:导航到托管源的项目,选择“项目设置>权限”,然后将管道的项目生成服务添加到“参与者”组或任何授予参与者访问权限的组。
源权限:导航到要访问的源,选择“设置>源”权限,然后将项目生成服务添加为源和上游读取者(协作者)。 Project 生成服务标识的格式如下:
[Project name] Build Service ([Organization name])
(例如 FabrikamFiber 生成服务(代码共享-演示)。
问:如何从同一组织中的另一个项目下载管道项目?
答:如果管道无法从另一个项目下载项目,请确保为下游项目和生成项目的管道设置以下权限:
在生成项目(上游项目)的管道上,选择省略号以获取更多选项>:管理下游项目的生成服务的安全>搜索,然后允许以下权限:更新生成信息、查看生成管道和查看生成。
在下游项目中:导航到“项目设置>权限>用户>”搜索上游项目的名称,然后选择“展开搜索>”选择上游项目的生成服务并启用“查看项目级别信息”。
问:如果我在新源中启用上游源并将其可见性设置为“Microsoft Entra 租户的成员”,我是否需要将 Microsoft Entra 用户添加到包含该源的 Azure DevOps 组织?
答:是的,仍需要将用户添加到 Azure DevOps 组织,才能访问源中的包。 可以从组织设置>安全>权限将其添加为项目集合有效用户。