影响应用程序版本历史

Affecting application version history

在试用示例 SF 应用程序并尝试升级和版本控制时,我注意到它保留了相当长的版本历史记录。下面是我在 SFExplorer 中的应用程序的屏幕截图。有什么方法可以控制保留多少历史记录,或者我可以剔除我永远不会再使用的版本。

或者我什至不应该关心这个? (虽然我是!)

您在这里看到的是申请注册。在创建应用程序实例之前,您必须注册应用程序类型和版本。升级应用程序时,您注册了相同应用程序类型的新版本。这是执行此操作的 PowerShell 命令(Visual Studio 在您通过它升级时代表您使用它):

Register-ServiceFabricApplicationType

随着时间的推移,您会看到应用程序的许多版本已注册。如果您不想再注册它们,您可以简单地使用推论命令取消注册它们:

Unregister-ServiceFabricApplicationType -ApplicationTypeName SFDemoType -ApplicationTypeVersion 1.0.2

虽然我们面前有那个屏幕截图,但这里有一些关于应用程序注册的很酷的事情:

  • 您可以随时使用 new 命令创建任何已注册应用程序类型 + 版本的实例:

    New-ServiceFabricApplication -ApplicationName fabric:/SFDemo2 -ApplicationTypeName SFDemoType -ApplicationTypeVersion 1.0.7
    

    这意味着您可以做一些很酷的事情,例如创建相同应用程序类型但不同版本的并排实例。假设您想在不升级现有实例的情况下测试应用程序的新版本。您可以注册新版本,而不是升级该应用程序类型的现有实例,您可以简单地创建该应用程序类型的新版本的新实例。

  • 您可以 "upgrade" 运行 应用程序实例从任何版本的应用程序类型到任何其他版本的应用程序类型使用 upgrade命令:

    Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/SFDemo -ApplicationTypeVersion 1.0.20 -FailureAction Rollback -Monitored
    

    例如,假设您刚刚将应用程序实例从 1.0.15 升级到 1.0.20。一段时间后,您发现 1.0.20 中存在错误。您可以使用相同的应用程序升级命令 "upgrade" 回到 1.0.15。事实上,版本字符串只是字符串——它们可以是任何你想要的。如果需要,您可以从版本 "banana" 升级到版本 "Tuesday"!

是的,如果您认为您再也不需要旧版本,可以取消注册它们。但是拥有版本历史记录很棒,因为您实际上可以用它做一些有趣的事情!