完全覆盖工件 PyPI 包
Posted
技术标签:
【中文标题】完全覆盖工件 PyPI 包【英文标题】:Full overriding artifactory PyPI package 【发布时间】:2017-12-22 09:19:51 【问题描述】:我希望能够为我们的用户透明地覆盖上游 PyPI 中的一些包。
我设置了以下 Artifactory:
本地存储库 X-local 远程存储库 X-remote(指向 PyPI) 虚拟存储库 X-virtual对于我的环境的一些特殊性,我想确保用户只从 X-local 下载包“mypackage”。
目前我已经包含了一条规则来禁止 X-remote 中的表达式“**/mypackage-*”,并且我将“mypackage”的内部版本发布到 X-local。在“mypackage”有***或发布新版本之前,这一切都很好。
似乎当 pip 在“X-virtual”中列出“mypackage”的所有工件时,它不仅找到了 X-local 中的那些,而且还找到了 X-Remote 中的那些。有没有办法阻止它?简而言之,防止列出来自远程的所有包。
【问题讨论】:
如果您希望为您的用户阻止“列出来自远程的所有包”,为什么不直接删除他们对该“X-Remote”存储库的权限?通过这样做,他们将无法缓存任何内容,甚至无法搜索本地存储库中没有的任何内容。 我想阻止单个包的所有版本和平台。不是所有的包 【参考方案1】:将"**/*mypackage*"
添加到黑名单解决了这个问题。如果你有像“mypackage2”这样的包,这可能会导致问题,但它适用于我的用例。
根据 JFrog 支持的建议
【讨论】:
以上是关于完全覆盖工件 PyPI 包的主要内容,如果未能解决你的问题,请参考以下文章