有没有办法只将修改过的文件复制到Service Fabric。 我有一个包含ASP的Service Fabric应用程序。 Net 5应用程序作为服务。每当我在ASP中对JavaScript文件进行更改时。 Net 5服务,每次我需要复制整个服务架构应用程序包。是否有一个允许只复制修改过的文件的命令?
答案 0 :(得分:5)
实现此目的的最佳方法是使用diff包和应用升级。有关详细信息,请参阅此链接:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-application-upgrade-advanced/。 Diff打包允许您定义仅包含要升级的包部件的应用程序包。但是,它仅适用于应用程序包的组件,例如Service或Code包。您无法在文件级别创建diff包。因此,如果您只更改了代码包中的单个文件,则必须包含该文件以及属于代码包的每个其他文件。您不能只包含更改的单个文件。但diff包装的好处是你只需要包含那个单一的代码包。您不需要提供其他服务的代码包,例如,假设它们没有被更改。
答案 1 :(得分:0)
Service Fabric SDK 2.5引入了一个名为“刷新应用程序”的预览功能。 使用此功能,您可以更快地获得代码更改的反馈。
要启用它,请从项目属性中设置以下内容 Application Debug mode = Refresh Application。
更多细节和限制可在此处找到: https://sharepointforum.org/threads/speed-up-service-fabric-development-with-the-new-refresh-application-debug-mode.111162/
答案 2 :(得分:0)
在Fabric Explorer中,您需要找到运行Web应用程序的节点。我的情况是_Node_0
通过SF SDK设计,本地SF发布的文件位于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] \
您只需修改此文件夹中的文件,然后更改将立即应用于您的本地测试Web浏览器。请注意,如果您的服务由多个节点中运行的微服务托管,您可能需要修改所有节点文件,因为负载均衡器可能会随机访问任何文件夹文件。