此问题涉及Artifactory Pro 4.14.2中的本地NuGet存储库。
我们使用名为DevNetRunnerSvc
的服务帐户将NuGet工件发布到Artifactory。此帐户配置了Deploy/Cache
权限,未配置Delete/Overwrite
权限。
但是,DevNetRunnerSvc
仍然可以覆盖此存储库中的工件:
我希望在保护工件免受任何和所有覆盖(适用于已发布的NuGet包)方面提供一些帮助,或者确定这是一个应该转发给JFrog的错误。
其他信息:
jfrog rt upload $(Join-Path $env:CI_PROJECT_DIR "$($env:PACKAGE).$($env:VERSION).nupkg") nuget-org-dev/org/$($env:PACKAGE)/$($env:PACKAGE).$($env:VERSION)-$($env:CI_BUILD_REF_SLUG).nupkg
DevNetRunnerSvc
。Deploy/Cache
删除DevNetRunnerSvc
权限成功阻止其将工件发布到此存储库。'促进'从此存储库到另一个的已发布工件被适当阻止:
[Info] Moving artifact: nuget-org-dev/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg to: nuget-org/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2.nupkg
[Error] Artifactory response: 409 Conflict
{
"messages": [
{
"level": "ERROR",
"message": "User doesn't have permissions to move 'nuget-org-dev:org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg'. Needs delete permissions."
}
]
}
用于执行上述操作的命令是jfrog rt move "nuget-org-dev/(org)/($($env:PACKAGE))/($($env:PACKAGE).$($env:VERSION))-$($env:CI_BUILD_REF_SLUG)(.nupkg)" "nuget-org/{1}/{2}/{3}{4}"
DevNetRunnerSvc
覆盖工件时,我会收到以下事件通知:Thu Apr 13 12:25:34 EDT 2017 [devnetrunnersvc/10.228.128.23] [CREATED] nuget-org-dev/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg
答案 0 :(得分:1)
看起来这是此Jira RTFACT-14442中提到的错误,已在更高版本中修复。此外,Artifactory版本4.14.2已达到其end of life,并且JFrog将不接受此版本的任何错误。我强烈建议将Artifactory升级到最新版本6.23或7.10。