ARTIFACTORY:如何使用ARTIFACTORY执行Nuget还原

Tatarao Vana
2022-05-17 39

作品简介:

据官方称微软文档,如果我们在项目中执行Nuget restore命令,它会尝试根据项目文件(.csproj)或包中的引用来安装所有的包依赖项。配置文件。首先,它安装直接依赖项,然后在整个依赖关系图中安装这些包的依赖项。

使用Artifactory进行Nuget恢复:

如果一个包还没有安装,NuGet首先尝试从缓存。如果包在缓存中不可用,NuGet尝试从列表中所有启用的源下载包,我们必须在这里配置Artifactory以根据NuGet客户端需求解析包。下面是示例客户机配置。

配置Nuget客户端以解析来自Artifactory的包$ cat ~/.config/NuGet/NuGet .config
<?xml version="1.0" encoding="utf-8"?>
< >配置
< packageSources >


< / packageSources >
< packageSourceCredentials >
< Artifactory >


< / Artifactory >
< ArtifactoryV2 >


< / ArtifactoryV2 >
< / packageSourceCredentials >
< apikey >
<添加关键= " http://art。local/artifactory/api/nuget/test-nuget" value="XXXX" />
<添加关键= " http://art。local/artifactory/api/nuget/v3/test-nuget" value="XXXX" />
< / apikey >
< / apikey >
> < /配置

NuGet恢复步骤:

1.克隆一个样本
存储库(https://github.com/NuGet/Samples/tree/main/Satellite-Packages)或创建一个NuGet项目。
2.配置NuGet客户端以使用Artifactory解析包。
3.在项目内部执行NuGet恢复。

$ nuget restore -source Artifactory -PackagesDirectory testpkgdir -NoCache -NonInteractive - versity normal
MSBuild自动检测:使用MSBuild版本'15.0'从'/usr/local/Cellar/mono/6.12.0.122/lib/mono/ MSBuild /15.0/bin'。
包中列出的所有包。配置文件已经安装。

$ nuget restore susitepackagessample .sln
MSBuild自动检测:使用MSBuild版本' 15.0 '从' /usr/local/Cellar/mono/6.12.0.122/lib/mono/ MSBuild /15.0/bin '。
恢复NuGet包ClassLibrary.1.0.0.
缓存http://art.local/artifactory/api/nuget/test-nuget/Packages (Id =“ClassLibrary”=“1.0.0版本)
得到http://art.local/artifactory/api/nuget/test-nuget/Download/ClassLibrary/1.0.0.0

OK http://art.local/artifactory/api/nuget/test-nuget/Download/ClassLibrary/1.0.0.0 3083ms
安装ClassLibrary 1.0.0从http://art.local/artifactory/api/nuget/test-nuget与内容哈希XXXXX。
添加包' ClassLibrary.1.0.0 '到文件夹' /Users/apps/nuget/restore/microsoft/Samples/Satellite-Packages/packages '
添加包' ClassLibrary.1.0.0 '到文件夹' /Users/apps/nuget/restore/microsoft/Samples/Satellite-Packages/packages '

使用的NuGet配置文件:
/用户/ config / NuGet / NuGet.Config

提要:
http://art.local/artifactory/api/nuget/test-nuget
http://art.local/artifactory/api/nuget/v3/test-nuget

安装:
1个包到多个包。配置项目

4.验证Artifactory日志。

[jfrt] [INFO] [a750e2cc3d667f03] [o.a.r。[http -nio-8081- exex -33] - test-nuget-remote download https://api.nuget.org/v3/index.json未知内容长度
….
[2019-05-17] [INFO] [8404817df574a3fb] [j] r.n.][art- exex -9] -在路径'classlibrary.1.0.0.nupkg'上为repo 'test-nuget-remote-cache'索引NuGet元数据
[jfrt] [INFO] [8404817df574a3fb] [j] j.r.n.]NuGetWorkContext:96] [art- exex -9] -完成了在路径'classlibrary.1.0.0 '上为repo test-nuget-remote-cache编写Nuget元数据。Nupkg花了69毫秒