【问题标题】:Removing unused app type versions but leaving last few删除未使用的应用类型版本,但保留最后几个
【发布时间】:2018-11-14 04:40:33
【问题描述】:

SF SDK 附带的 Publish-UpgradedServiceFabricApplication powershell cmdlet 有一个 $UnregisterUnusedVersions 选项,当设置为 $true 时将删除所有未使用的应用类型版本。这很棒,因为我不想在我的集群上堆积杂乱。

但是,我真正想要的是保留最后 3 个左右的版本,以便在需要时可以灵活地回滚。除了重新创建该 cmdlet 之外,有什么方法可以做到这一点吗?我猜想挑战在于 cmdlet 知道哪些要离开,哪些要删除。也许使用 semver 逻辑可以删除除最新 3 个版本之外的所有版本?

这是白日梦吗?感觉就像我应该能够配置我的集群来做的事情。定期清除除最新 X 版本之外的所有版本。

【问题讨论】:

标签: azure-service-fabric


【解决方案1】:

这样做的问题是类型版本可以是任何字符串。从 SF 的角度来看,除了注册的日期/时间之外,没有其他命令。您可以以任何适合您的应用程序的方式为其赋予含义。

应该很容易编写脚本。使用 FabricClient 确定哪些类型的实例正在运行,以及您要清除哪些实例。然后将该脚本转换为服务,使其始终运行并定期清除旧类型。

【讨论】:

  • Vaclav,我已经做到了。但是目前我的脚本依赖于类型版本的顺序,即它们注册的顺序。它基本上获得了完整的列表,然后通过删除列表中除最后 3 个之外的所有内容来运行。这个假设是安全的,还是我在自找麻烦而只是幸运?
  • @BrettRobi 我也做了同样的事情,依靠返回的订单来删除历史记录并在此处发布stackoverflow.com/a/53289204/737295
猜你喜欢
  • 2016-12-13
  • 2022-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
  • 1970-01-01
  • 2011-01-19
  • 2012-08-18
相关资源
最近更新 更多