Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
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 |
用户界面 | 仅在导航到承载源的项目后才可见。 | 始终可以从源下拉菜单中获取。 |
连接 | 若要访问同一组织中不同项目中管道生成的源,必须为 项目集合生成服务 和运行该管道项目的 生成服务 授予相应的角色。 | 只需向 项目集合生成服务 授予相应的角色。 |
注意
要将来自不同组织的源添加为上游源,目标源所有者必须通过以下方法与“与我的 Microsoft Entra 租户相关联的组织中的所有源和人员”共享目标视图:导航到“源设置”>>“视图”,选择指定视图右侧的省略号按钮 >“编辑”。
问答
问:如何与组织中的所有用户共享包?
答:若要使源中的特定包可供组织中的所有用户访问,请创建或选择包含要共享的包的视图,并将其可见性设置为我组织中的人员。
重要说明
如果用户有权访问特定视图,则即使没有源级权限,他们仍然可以从该视图中查看和下载包。 如果要完全限制对包的访问,请确保对源及其视图的权限都受到限制。 有关更多详细信息,请参阅源和视图权限。
问:如何从我的管道中访问另一个项目中的项目范围的源?
若要允许管道访问不同项目中项目范围内的源,需要在项目级别(托管源的位置)和源级别授予访问权限。
项目权限:前往承载源的项目,选择项目设置>权限,然后将你的管道的项目生成服务添加到读取者组。
源权限:导航到要访问的源,选择 “设置>源”权限,然后使用以下角色之一添加 项目生成服务 :
- 源和上游读取者(协作者):如果要从源查看或下载包,或保存来自上游源的包。
- 源发布者(参与者):如果要发布、升级或弃用包,以及查看或下载源中的包,或保存来自上游源的包。
Project 生成服务标识的格式为: [Project name] Build Service ([Organization name])
。 示例:FabrikamFiber 生成服务(代码共享-演示)。
问:如何从同一组织中的另一个项目下载管道项目?
答:如果管道无法从另一个项目下载项目,请确保为下游项目和生成项目的管道设置以下权限:
在生成项目的管道上(上游项目):选择省略号以获取更多选项 >“管理安全性”> 搜索下游项目的生成服务,然后允许以下权限:更新生成信息、查看生成管道和查看生成。
在下游项目中:导航到“项目设置”>>“权限”“用户”> 搜索上游项目的名称,然后选择“展开搜索”> 选择上游项目的生成服务并启用“查看项目级信息”。
问:如果我在新源中启用上游源并将其可见性设置为“Microsoft Entra 租户的成员”,是否仍需要将 Microsoft Entra 用户添加到包含该源的 Azure DevOps 组织?
A:是的,仍然需要将用户添加到 Azure DevOps 组织中,他们才能访问源中的包。 可以从组织设置>安全>权限将它们添加为项目集合有效用户。