我的组织正在将我们的软件包(NuGet,NPM)迁移到Azure Artifacts。我们已经将大约50,000个NuGet程序包(2GB)推送到Azure Artifacts。
如果我们对产品不满意,是否可以将包从Azure Artifacts批量拉到我的机器或Azure Blob存储中?我主要担心提取NuGet软件包,因为我们已经发布了成千上万的软件包。
我知道Download all packages from private nuget feed,但是我想知道是否有一种方法可以检索我们所有软件包的zip文件,或者是否可以通过其他方法批量下载所有我们的软件包。
谢谢!
答案 0 :(得分:1)
我们没有大量下载选项,但是您自己编写脚本很容易。
首先,您需要get a PAT。确保PAT具有包装(读取)范围。您将使用PAT作为身份验证的密码。您使用的用户名无关紧要。
然后,您需要获取供稿中所有软件包的列表。您可以为此使用我们的Get Packages API。
然后,对于NuGet软件包,协议如下:
.../v3/index.json
结尾)PackageBaseAddress/3.0.0
从对象获取@id属性。这是PackageBaseAddress。注意,实际值被视为实现细节。始终从index.json检索地址。{PackageBaseAddress}/{PackageName (lowercased)}/index.json
,该列表将列表作为JSON数组(我建议以这种方式获取版本,因为它们已经被规范化了){PackageBaseAddress}/{PackageName (lowercase)}/{PackageVersion (normalized)}/{PackageName (lowercase)}.{PackageVersion (normalized)}.nupkg
下载软件包
{PackageBaseAddress}/restsharp/106.4.1/restsharp.106.4.1.nupkg
对于npm软件包:
.../npm/registry
结尾){Feed URL}/{PackageName}
(适用于有范围的软件包,例如{Feed URL}/@{Scope}/{PackageName}
)