覆盖 Artifactory 工件(和历史)?

Overwriting Artifactory artifacts (and history)?

我目前正在尝试感受 Artifactory and playing around with deploying "generic" artifacts into a simple repo. (I'm using the web interface as well as a minimal Jenkins upload by Upload File Spec。)

我看到的是我可以在同一个 name/path 下多次部署工件,例如我的 martin-repo 中有工件 http://localhost:8081/artifactory/martin-repo/martin/bla/foo.zip,我可以根据需要随时部署它,它只会 覆盖 它。

它只会列出一个

  • Created: 25-01-17 23:20:09 +01:00
  • Last Modified: 25-01-17 23:32:33 +01:00

对于http://localhost:8081/artifactory/webapp/#/artifacts/browse/tree/General/martin-repo/.../...下的神器

问题--


免责声明:我在这里完全是菜鸟,所以如果我遗漏了什么,请随时指出任何 RTFM。

从我看到的示例来看,似乎通常会在要部署的路径中包含一个版本号,但据我所知,该路径将是 "client" 生成的,因此服务器也必须对此有所了解吗?

Artifactory 中是否存在某种不同 "versions" 神器的历史?

如果我理解正确的话,你的意思是在版本控制中,回滚到旧文件。如果是这种情况,那么答案是这不是 Artifactory

中可用的东西


还是同路径下新版本一部署,旧版本就丢失了?

一旦文件被覆盖,旧文件就会丢失。请注意覆盖文件,尤其是版本,被认为是不好的做法。


存储库是否有任何 write-once 选项,以便默认情况下每个工件路径只能上传一次?

您唯一的选择是删除用户的 "Delete/Overwrite" 权限。然后,一旦他们尝试写入一个已经存在的文件,他们将收到以下错误:

{
    "errors" : [ {
        "status" : 403,
        "message" : "Not enough permissions to overwrite artifact 'XXX' (user 'YYY' needs DELETE permission)."
    } ]
}