我已经按照此处所述设置了一个本地 NuGet 存储库。已在 NuGet.Config 文件中设置 apikey 和身份验证。
直接push一个nupkg到这个文件夹中是没有问题的:
nuget push Nuget.0.1.15.nupkg -Source http://arti.url/artifactory/api/nuget/nuget-repo-local
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将其推送到子文件夹以在 Artifactory 中拥有良好的布局时,就会失败:
nuget push Nuget.0.1.15.nupkg -Source http://arti.url/artifactory/api/nuget/nuget-repo-local/aFolder
Run Code Online (Sandbox Code Playgroud)
这是一个已知问题,有人有解决方案吗?为每个文件夹创建一个 apikey 并不是我真正想要的......
警告如下:
WARNING: No API Key was provided and no API Key could be found for 'http://arti.url/artifactory/api/nuget/nuget-repo-local/aFolder'.
To save an API Key for a source use the 'setApiKey' command.
Run Code Online (Sandbox Code Playgroud)
然后错误说:
Failed to process request. 'Forbidden'.
The remote server returned an error: (403) Forbidden..
Run Code Online (Sandbox Code Playgroud)
小智 6
当你这样做时:
nuget push Nuget.0.1.15.nupkg -Source http://arti.url/artifactory/api/nuget/nuget-repo-local/aFolder
Run Code Online (Sandbox Code Playgroud)
nuget将整个url解释为repo地址(客户端实现基于扁平部署,Artifactory更灵活)
关于您在根存储库上的部署,我假设您遵循指示并首先在存储库上运行 setApiKey 命令:
nuget setapikey <USERNAME>:<PASSWORD> -Source http://arti.url/artifactory/api/nuget/nuget-repo-local
Run Code Online (Sandbox Code Playgroud)
这使您无需每次都输入凭据即可进行推送,而只能在根级别进行推送。
现在,如果您想推送子文件夹,您可以在其上设置 apikey,就像对 rpo 本身所做的那样:
nuget setapikey <USERNAME>:<PASSWORD> -Source http://arti.url/artifactory/api/nuget/nuget-repo-local/aFolder
Run Code Online (Sandbox Code Playgroud)
但是您必须对每个文件夹执行此操作
或在推送时使用“apikey”选项
nuget push Nuget.0.1.15.nupkg -Source http://arti.url/artifactory/api/nuget/nuget-repo-local/aFolder -apikey <USERNAME>:<PASSWORD>
Run Code Online (Sandbox Code Playgroud)
或者在 Artifactory 中的存储库配置上勾选“强制身份验证”选项。此选项将强制您输入凭据并防止出现“403”错误。
| 归档时间: |
|
| 查看次数: |
11448 次 |
| 最近记录: |