2017-12-18 281 views
0

我在Artifactory上创建了nuget本地存储库,并将最大唯一快照选项设置为10.但artifactory不会删除旧包。Artifactory - NuGet - 最大特有快照

dotnet-snapshots/ 
├── sompackage/ 
│ ├── 1.0.0-build1 
| | ├── somepackage.1.0.0-build1.nupkg 
| ├── 1.0.0-build2 
| | ├── somepackage.1.0.0-build2.nupkg 
│ ├── ... 
| ├── 1.0.0-build25 
| | ├── somepackage.1.0.0-build25.nupkg 

问题出在哪里?我认为这是包名命名。

回答

2

它可能与您的存储库使用的布局有关。 仅供参考Artifactory使用此布局来提取一些元数据,如基本版本,集成版本(快照),模块名称......

默认情况下,nuget存储库使用如下定义的“nuget-default”布局: “[orgPath]/[module]/[module] .baseRev.nupkg”

但在你的情况下,你正在部署你的nuget软件包,就像布局是: “[orgPath]/[module]/baseRev /模块] .baseRev.nupkg”

所以你可以做的是:

再为了你存储库到m ATCH布局 或创建匹配您的部署路径

一个自定义布局也当您编辑/创建一个布局,可以与现有的文物进行测试,以CHCK Artifactory的是提取您从部署路径的期望。

+1

只是添加到@jroquelaure的回复,因为Artifactory中默认的Nuget布局是:[orgPath]/[module]/[module]。[baseRev]( - [fileItegRev])。nupkg 和'[fileItegRev] '定义为'。'''' 您的目标的良好文件结构可以是: myProject/somepackage/somepackage.1.0.0-build1.nupkg 这将标识'build1'作为集成版本。 另一种选择可能是创建自己的布局。可能是这样的: orgPath]/[module]/[baseRev]( - [folderItegRev])/ [module]。[baseRev]( - [fileItegRev])。 -build1/somepackage.1.0.0-build1.nupkg – eranb