Nuget预发行版软件包可以在Artifactory上覆盖吗?

时间:2018-09-25 14:56:15

标签: nuget artifactory

Nuget软件包是不可变的。所有文档都非常清楚。

我正在调查内部Nuget服务器上的一个问题,该问题可以覆盖预发行软件包。通常,当尝试上传具有现有版本的软件包时,上传将失败。有问题的Nuget服务器是Artifactory服务器。

我立即认为这是一个错误,但是在寻找其他遇到相同问题的人时,我却转而发表暗示这是正常现象的帖子。

This person asks how to always get the latest version when repeatedly publishing v1.0.0-prerelease.

This person found an Artifactory bug where prerelease packages can't be overwritten if they have a dot in the name.

Another Artifactory bug where STABLE packages can be overwritten because they are incorrectly identified as prerelease

我还没有找到任何实际的文档,说可以在Nuget或Artifactory上覆盖预发行版软件包。我没想到,但是那些帖子把它当作事实!

1 个答案:

答案 0 :(得分:0)

经过更多的研究和测试,得出的结论是这似乎是Artifactory的未记录的功能

他们最接近证明这一点的地方是: https://www.jfrog.com/confluence/display/RTF/Managing+Permissions#ManagingPermissions-PreventingOverwritingDeployments

  

您可以防止用户或组覆盖已部署的发行版或   通过不授予“删除”权限来唯一快照。 非唯一   快照始终可以被覆盖(前提是“部署”权限为   授予)。

文档的该部分并非特定于任何种类的存储库。从未明确阐明Nuget预发行版软件包被视为“快照”的任何地方,但是在文档的任何地方(对于任何存储库类型)都没有使用术语“预发行”和“不稳定”。

由于无法关闭此功能,因此我的团队继续使用自动生成的预发行版本控制版本,以避免出现由于包覆盖而引起的问题。

nuget.org不允许覆盖预发行版软件包。