覆盖/强制推送 gemfury 中的现有软件包版本

Posted

技术标签:

【中文标题】覆盖/强制推送 gemfury 中的现有软件包版本【英文标题】:Overwrite/force push an existing package version in gemfury 【发布时间】:2016-10-03 13:03:29 【问题描述】:

我们正在使用 gemfury 来管理我们内部的 python 包发布。我现在面临的问题是 gemfury 不允许推送/覆盖相同的版本,这在处理生产版本时很好。在 dev/qa 构建的情况下,这很难管理。我们会在发布生产版本时增加版本和发布。

是否有可用于强制推送/覆盖包版本的标志?例如。如果有人向我的 QA 分支推送一些更改,我会构建分支并发布新版本,但我想始终将其称为版本“qa”。所以这样,我总是希望“qa”版本指向我的 QA 版本的最新版本。我有一份詹金斯的工作来做这件事。

我真的需要一个 api/flag 来覆盖现有版本,以完成我在自动化我们的开发和发布过程方面想要实现的目标。如果有类似的东西,请告诉我。

【问题讨论】:

您使用哪种语言和包管理器? Python 和 pip @Michael 【参考方案1】:

您可以使用下面的 CLI 删除最新的包版本并继续新的上传 (source)

fury yank package-name -v 0.1.0

【讨论】:

【参考方案2】:

这可能对您的事业没有帮助,但我从 Gemfury 网站上选择了我要升级的版本,将其删除,然后上传具有相同版本的新包。

我认为这样你也可以实现自动化。

【讨论】:

我需要通过 jenkins 自动执行此操作。现在我已经做了一个解决方法,将 jenkins 内部版本号添加到版本中。这使我的包始终在 gemfury 更新。就通过网站进行操作而言,我知道这一点。只是为了自动化,我必须对从他们的 Web UI 中删除包时发送的 ajax 请求进行逆向工程。

以上是关于覆盖/强制推送 gemfury 中的现有软件包版本的主要内容,如果未能解决你的问题,请参考以下文章

如何通过覆盖现有符号链接来强制创建符号链接?

Git强制推送命令

如何强制 NLog 覆盖日志文件

如何将 Gemfury 作为私有 npm 注册表与 Yarn 结合使用?

GIT用服务器上的版本强制覆盖掉本地的版本(转)

如何通过父pom中的dependencyManagement强制maven依赖版本?