什么是 Azure Artifacts?

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

Azure Artifacts 为开发人员提供了一种简化的方法,用于从单个源管理其所有依赖项。 这些源充当存储库,用于存储、管理和共享包,无论是在团队中、跨组织还是公开在线。

Azure Artifacts 支持多种包类型,包括 NuGet、npm、Python、Maven、Cargo 和通用包。

注意

Azure Artifacts 为每个组织提供 2 GiB 的免费存储。 此免费层旨在帮助评估 Azure Artifacts 是否符合工作流。 当组织开始处理更多关键任务时, 请增加 Azure Artifacts 的存储限制,以确保拥有适当的资源。

先决条件

产品 要求
Azure DevOps - An Azure DevOps 组织
- Azure DevOps 项目
- 如果你的组织使用防火墙或代理服务器,请允许 Azure Artifacts 域 URL 和 IP 地址

创建新源

Azure Artifacts 源是用于组织管理的软件构件,使你能够在保持访问控制的同时存储、管理和共享包。 存储库不限于特定的包类型,可以将各种包(例如 npm、NuGet、Maven、Python、Cargo 和通用包)存储在单个存储库中。 有关更多详细信息,请参阅源是什么

按照以下说明创建新的信息流:

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

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

  3. 为源提供一个名称,选择定义谁可以查看包的可见性选项;如果想包含来自 nuget.orgnpmjs.com 等源的包,请选中包含来自公共源的包,对于范围,决定源的范围是项目还是整个组织。

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

    显示用于在 Azure DevOps Services 中创建新源的选择的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后转到项目。

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

  3. 为您的源提供 名称,选择定义谁可以查看包的 可见性 选项,若想要包括来自公共源(如 nuget.orgnpmjs.com)的包,请勾选 包括来自公共源的包,然后对于 范围,决定源是限制在您的项目中还是整个组织中。

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

    显示用于在 Azure DevOps 2022 中创建新源的选择的屏幕截图。

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

    显示用于在 Azure DevOps 2020 中创建新源的选择的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后转到项目。

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

  3. 对于 “名称”,请输入源的描述性名称。

    对于 可见性,请选择一个选项来指示谁可以查看源中的包。

    如果要包含来自公共源的包,请通过此源选项从公共源中选择“使用包”。

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

    显示用于在 Azure DevOps 2019 中创建新源的选择的屏幕截图。

注意

默认情况下,新建的源的“生成服务”值设置为“源”和“上游读取者”(协作者)。

开始使用

使用 Azure Artifacts,可以从源和公共注册表(例如 nuget.org、npmjs.com、Maven Central 等)发布和安装各种包类型。选择要开始的包类型:

功能可用性

Azure DevOps Services Azure DevOps Server 2022 Azure DevOps Server 2020 Azure DevOps Server 2019
NuGet
dotnet
npm
Maven
Gradle
Python
Cargo
通用包

查看项目存储消耗量

通过组织/项目设置提供的项目存储 UI 可让你在组织和项目级别监视存储使用情况:

  • 项目级存储:提供按工件类型划分的总存储使用和消耗量概述。

  • 组织级存储:提供总存储使用情况的概述,包括按项目和工件类型使用量。

提高 Azure Artifacts 的存储上限

Azure Artifacts 为每个组织提供 2 GiB 的免费存储。 当组织达到最大存储限制时,将无法再发布新项目。 若要继续,可以删除某些现有项目,或按照以下步骤提高存储限制:

  1. 设置组织的计费

  2. 登录到 Azure DevOps 组织,选择组织设置>计费,并通过从下拉菜单中选择“无限制,按使用量付费”来调整项目使用情况限制。

  3. 完成后,选择 保存

    显示计费页上项目调整后的使用限制的屏幕截图。

常见问题

问:哪些项目对我的总计费存储做出了贡献?

答:所有包类型(npm、NuGet、Python、Maven、Cargo 和通用包)都收费,包括从上游源存储的包。 但是,管道项目和管道缓存不收取任何费用。

重要

回收站中的包有助于整体存储消耗。 这些包在 30 天后永久删除。 若要更快地删除它们,请转到回收站并手动删除它们。

问:如果我从 Azure DevOps 组织中删除 Azure 订阅,会发生什么情况?

答:从 Azure DevOps 组织中删除 Azure 订阅会限制对免费层的访问。 如果存储使用量超过 2 GiB,则对包具有只读访问权限。 若要发布新包,必须减少低于 2 GiB 的存储使用量。 或者,可以将 Azure 订阅重新连接到组织,并设置计费以升级存储层

问:为什么即使我在存储项目,我的存储消耗量仍显示为 0 GiB?

答:存储的最小单位目前为 1 GiB。 存储使用量可能尚未超过 1 GiB 阈值。

问:删除项目通常需要多长时间才能反映在计费的存储量中?

答:删除项目可能不会立即反映在系统中。 存储消耗通常在 24 小时内更新,但在某些情况下,可能需要长达 48 小时。 如果无法上传制品,临时变通方法是提高使用量,然后在存储指标更新后再减少使用量。

在组织的计费页上,“已用”列每天更新一次,因此变更可能不会立即反映出来。 但是,项目存储 页更新得更频繁,这可能会导致两个页面之间略有差异。

显示 Artifacts 存储消耗的屏幕截图。

问:如何管理旧包的保留时间?

答:可以设置保留策略以自动删除旧包。 不过,那些提升到视图的包不会受到保留策略的影响,也不会被删除。 有关详细信息,请参阅 如何使用保留策略删除旧包

问:如何手动删除特定包?

答:有关详细信息,请参阅 删除和恢复包