使用Artifactoryx ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
概述
从2.5版开始,Artifactory为NuGet在Artifactory的知识库之上现有的支持用于高级工件管理。
Artifactory支持NuGet提供:
- 能够从Artifactory从所有存储库类型提供NuGet包到NuGet客户端
- 托管在Artifactory本地存储库中的NuGet包的元数据计算
- 定义代理和缓存来访问远程NuGet存储库的能力
- 通过虚拟存储库进行多个NuGet存储库聚合
- 用于部署或删除与之兼容的包的apiNuGet包管理器Visual Studio扩展和NuGet命令行工具
- 使用Artifactory直接调试NuGet包微软符号服务器
元数据更新
当添加、删除、复制或移动NuGet包时,会自动计算和更新NuGet元数据。计算只在与包相关的操作完成后调用。
它是异步的,其性能取决于整个系统负载,因此有时可能需要30秒才能完成。
您还可以通过选择“Reindex Packages”在整个存储库上调用元数据计算。
配置
局部存储库
创建Artifactory将为其计算的本地存储库NuGet包元数据,设置NuGet成为包装类型。
本地存储库布局
为了支持更易于管理的存储库布局,您可以将NuGet包存储在与包结构对应的文件夹中。
Artifactory将通过执行属性搜索来查找包,因此文件夹层次结构不会影响性能。
要为存储库使用分层布局,您应该定义一个自定义布局.这样,不同的维护功能就像版本清理将正确工作与NuGet包。
放置包以匹配存储库布局
下面是一个示例自定义布局命名nuget-default。
在本例中,模块标识必须有三个字段:
- 组织= "orgPath"
- Module = " Module "
- Base Revision ("baseRev")在本例中不是布局层次结构的一部分,但它作为必填字段之一包含在这里。
您可以配置此自定义布局,如上图所示,或简单地复制下面的代码片段到您的全局配置描述符:
nuget-default [orgPath]/[module]/[module].[baseRev](-[fileItegRev])。[ext] false 。* < / folderIntegrationRevisionRegExp > < fileIntegrationRevisionRegExp >。* < / fileIntegrationRevisionRegExp > < / repoLayout >
由于包布局在相应的文件夹层次结构中,Artifactory Version Cleanup工具可以正确地检测先前安装的版本。
发布到本地存储库
中选择NuGet存储库时工件模块树浏览器,单击给我介绍来显示您可以用来配置Visual Studio或您的NuGet客户端来使用所选的存储库来发布或解析工件的代码片段。
远程存储库
当使用远程NuGet存储库时,您的Artifactory配置取决于远程存储库的设置方式。
不同的NuGet服务器实现可以在不同的路径上提供包资源,因此当代理远程NuGet存储库时,Artifactory中的提2022世界杯阿根廷预选赛赛程要和下载资源位置是可定制的。
下面是一些例子:
- 的NuGet画廊在处公开其提要资源https://www.nuget.org/api/v2/Packages和它的下载资源https://www.nuget.org/api/v2/package
因此,要将其定义为一个新的存储库,您应该设置存储库URL来https://www.nuget.org
,它的提要上下文路径来api / v2
和下载路径来api / v2 /包
. - 的
NuGet。服务器
模块公开其提要资源http://host:port/nuget/Packages和它的下载资源http://host:port/api/v2/package.
要将其定义为一个新的存储库,您应该设置存储库URL来http://host:port,它的提要上下文路径来nuget
和它的下载内容路径api / v2 /包
. - 另一个Artifactory存储库(即智能远程NuGet存储库)在http://host:port/artifactory/api/nuget/repoKey/Packages和它的下载资源http://host:port/artifactory/api/nuget/repoKey/Download.
要将其定义为一个新的存储库,您应该将存储库URL设置为http://host:port/artifactory/api/nuget/repoKey,它的提要上下文路径应该留空和它下载路径来下载,像这样:
使用代理服务器
如果你通过代理服务器访问NuGet Gallery,你需要在代理的白名单中定义以下两个url:
- * .nuget.org
- az320820.vo.msecnd.net(我们当前的CDN域名)
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的NuGet包和远程代理的NuGet库。
创建一个虚拟的Bower存储库集NuGet成为它的包类型,而且选项中包含的底层本地和远程NuGet存储库存储库部分.
从Visual Studio访问NuGet存储库
NuGet存储库必须在路径中加上api/ NuGet前缀
当配置Visual Studio通过Artfactory访问NuGet存储库时,存储库URL必须加上前缀api / nuget在路上。
例如,如果你单独使用Artifactory或作为本地服务使用,你可以使用以下URL配置Visual Studio:
http://localhost:8081/artifactory/api / nuget /<库关键>
或者,如果您使用Artifactory SaaS, URL将是:
https:// < server name > .jfrog。io / <服务器名> /api / nuget /<库关键>
Artifactory通过REST API在以下URL中公开2022世界杯阿根廷预选赛赛程它的NuGet资源:http://localhost:8081/artifactory/api / nuget/
> <库的关键。
这个URL处理所有与NuGet相关的请求(搜索、下载、上传、删除),同时支持V1和V2请求。为了使用V3请求,你需要配置NuGet CLI/ Visual Studio来使用NuGet V3 API。
要配置NuGet Visual Studio扩展以使用Artifactory,请在“选项”窗口中检查相应的存储库:(您可以从工具菜单中访问选项)。
使用NuGet命令行
NuGet存储库必须在路径中加上api/ NuGet前缀
当使用NuGet命令行通过Artfactory访问存储库时,存储库URL必须加上前缀api / nuget在路上。这适用于所有NuGet命令,包括nuget安装
而且nuget推
.
例如,如果你单独使用Artifactory或作为本地服务,你可以使用下面的URL访问你的NuGet存储库:
http://localhost:8081/artifactory/api / nuget /<库关键>
或者,如果您使用Artifactory SaaS, URL将是:
https:// < server name > .jfrog。io / <服务器名> /api / nuget /<库关键>
使用Nuget命令行工具:
- 下载NuGet.exe
- 把它放在文件系统中一个众所周知的位置,比如c:\utils
- 确保NuGet.exe在你的路径中
有关如何使用NuGet命令行工具的完整信息,请参阅NuGet Docs命令行参考.
首先配置一个指向Artifactory的新源URL:
添加-Name Artifactory -Source http://localhost:8081/artifactory/api/nuget/<存储库密钥>
为了使用V3请求,你需要配置NuGet CLI/ Visual Studio来使用NuGet V3 API。
NuGet API密钥认证
NuGet工具要求敏感操作(如推送和删除)通过服务器验证apikey
.您应该使用的API密钥的形式是用户名:密码
,其中密码可以是明文或加密.
使用NuGet命令行接口设置API密钥:
nuget setapikey admin:密码-Source Artifactory
现在可以对新添加的服务器执行操作了。例如:
nuget list -Source Artifactory nuget install log4net -Source Artifactory
匿名访问NuGet存储库
默认情况下,Artifactory允许匿名访问NuGet存储库。它的定义是安全|总体配置.详情请参阅允许匿名访问.
没有匿名访问的工作
为了能够跟踪用户如何与您的存储库交互,我们建议您取消选中允许匿名访问设置如上所述。这意味着用户在使用NuGet客户端时需要输入用户名和密码。
您可以配置您的NuGet客户端需要用户名和密码使用以下命令:
-Name Artifactory -UserName admin -Password密码
您可以通过检查以下段是否出现在您的% APPDATA % \ NuGet \ NuGet。配置
文件:
NuGet。配置
文件也可以放在你的项目目录下,更多信息请参考NuGet配置文件
允许匿名访问
Artifactory支持NuGet存储库允许匿名访问启用。
当允许匿名访问启用后,Artifactory默认不会向NuGet客户端查询身份验证参数,因此您需要指示Artifactory以不同的方式请求身份验证参数。
属性可以覆盖默认行为力身份验证新建或编辑存储库对话框中的复选框。
设置后,Artifactory将首先从NuGet客户端请求身份验证参数,然后再尝试访问这个存储库。
查看单个NuGet包信息
您可以通过在Artifactory的树浏览器中选择NuPkg文件并选择NuPkg信息
标签: