升级 Service Fabric 应用程序

Upgrade Service Fabric Application

有没有办法只将修改后的文件复制到 Service Fabric。 我有一个包含 ASP 的 Service Fabric 应用程序。 Net 5 应用程序即服务。每当我对 ASP 中的 JavaScript 文件进行更改时。 Net 5 服务,每次我都需要复制整个服务结构应用程序包。是否有一个命令只允许复制修改后的文件?

实现此目的的最佳方法是使用 diff 打包和应用升级。有关详细信息,请参阅此 link:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-application-upgrade-advanced/。 Diff 打包允许您定义一个仅包含您希望升级的包部分的应用程序包。但是,它仅适用于应用程序包的组件,例如服务或代码包。您不能在文件级别创建差异包。因此,如果您只更改了代码包中的一个文件,则必须将该文件与属于该代码包的所有其他文件一起包括在内。您不能只包含更改的单个文件。但是 diff 打包的好处是您只需要包含那个单一的代码包。您不需要提供其他服务的代码包,例如,假设它们没有被更改。

Service Fabric SDK 2.5 引入了名为“刷新应用程序”的预览功能。 使用此功能,您可以更快地获得代码更改的反馈。

要启用它,请从项目属性中设置以下内容 应用程序调试模式 = 刷新应用程序。

可在此处找到更多详细信息和限制: https://sharepointforum.org/threads/speed-up-service-fabric-development-with-the-new-refresh-application-debug-mode.111162/

在 Fabric Explorer 中,您需要找到 Web 应用程序所在的节点 运行。我的情况是 _Node_0

顺丰SDK设计,本地顺丰发布文件在C:\SfDevCluster\Data_App\下。在我的环境下,网站文件路径为C:\SfDevCluster\Data_App_Node_0\Application1Type_App1\Web1Pkg.Code.1.0.0\wwwroot\

所以你也可以在下面的路径下找到你的HTML、CSS、JS等静态资源:C:\SfDevCluster\Data_App[node_id][application_type_and_instance_name][service_type_and_version]\

您可以只修改此文件夹中的文件,然后更改将立即应用到您的本地测试网络浏览器。请注意,如果您的服务由多个节点中的微服务 运行 托管,您可能需要修改所有节点文件,因为负载均衡器可能会随机访问任何文件夹文件。