在 Azure Artifacts 中提升包和管理源视图

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

源视图是使用户能够在保持其他包私密的同时共享某些包的一种方法。 视图将源筛选为满足该视图定义的一组条件的包的子集。

默认情况下,Azure Artifacts 附带三个视图: @Local@Prerelease@Release。 @local是默认视图,其中包含从上游源保存的所有已发布包和所有包。 所有视图都支持 NuGet、npm、Maven、Python 和通用包。

注意

Azure Artifacts 仅支持在默认视图中发布和还原包 - @Local

提升包

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

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 选择要升级的包,然后选择“ 提升”。

    显示如何将包提升到视图的屏幕截图。

  4. 从下拉菜单中选择视图,然后选择“ 提升”。

    显示可用源视图的屏幕截图。

注意

不支持包降级。 如果希望将此功能添加到将来的版本,请随意在 Azure DevOps 开发者社区推荐一项功能

使用 REST API 提升包

除了使用 Azure Artifacts 用户界面之外,还可以使用 REST API 升级包。 URI 因包类型而异:

分别对{packageName}{packageVersion}和字段使用面向用户的名称和包版本。 如果源是组织范围的,请省略该 {project} 字段。

请求正文是一个 JSON 修补程序 文档,将视图添加到数组末尾 views 。 有关如何与 Azure DevOps REST API 交互的详细信息,请参阅 REST APIREST API 示例 入门。

  • 组织范围的源

    PATCH https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1-preview.1
    
  • 项目范围的源

    PATCH https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1-preview.1
    

    使用 JsonPatchOperation 构造请求的正文。 有关更多详细信息,请参阅 NuGet - 更新包版本

  • 示例:
PATCH https://pkgs.dev.azure.com/fabrikam-fiber-inc/litware/_apis/packaging/feeds/litware-tools/nuget/packages/LitWare.Common/versions/1.0.0?api-version=5.1-preview.1 HTTP/1.1
Content-Type: application/json-patch+json

{
  "views": {
    "op": "add",
    "path": "/views/-",
    "value": "Release"
  }
}

管理视图

可以从源的设置创建自己的视图或重命名和删除现有视图。

注意

公共项目中的所有源视图都可供 Internet 上的每个人都访问。

  1. 选择“项目”。

  2. 从下拉菜单中选择源。

  3. 选择齿轮图标 以访问源的设置。

    显示如何访问源设置的屏幕截图。

  4. 选择视图

    显示如何导航到视图的屏幕截图。

  5. 选择视图,然后选择“ 编辑” 以编辑视图,或者如果要添加新视图,请选择“ 添加视图 ”。

  6. 完成时选择“保存” 。

重要

对于公共源,如果将特定视图的访问权限更改为“特定人员”,则视图将不能用作上游源。