【问题标题】:Can Nuget prerelease packages be overwritten on Artifactory?Nuget 预发布包可以在 Artifactory 上被覆盖吗?
【发布时间】:2019-03-01 06:06:51
【问题描述】:

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 上覆盖预发布包。我没想到,但那些帖子把它当作事实!

【问题讨论】:

    标签: nuget artifactory


    【解决方案1】:

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

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

    您可以防止用户或组覆盖已部署的版本或 通过不授予删除权限来创建唯一快照。 非唯一 快照总是可以被覆盖(前提是 Deploy 权限是 授予)。

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

    由于无法关闭此功能,我的团队使用自动生成的预发布包版本控制来避免包覆盖导致的问题。

    nuget.org 不允许覆盖任何预发布包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-09
      • 2012-02-28
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      相关资源
      最近更新 更多