Service Fabric 用 Powershell 部署应用到本地
前置说明
安装 Service Fabric SDK,会在本机 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK 生成部署脚本,如下图:

用VS创建一个 Service Fabric 应用后,有一个部署脚本,位置在 [应用名]\Scripts\Deploy-FabricApplication.ps1,本文正是用该脚本进行应用部署的,内部会判断是全新部署或更新部署去调用上面对应的脚本。

本文配置文件使用方式是,在 ApplicationParameters中的xml 文件里声明配置变量并赋值,在 ApplicationPackageRoot\ApplicationManifest.xml 中用配置变量进行重写,所以最终的配置都在 ApplicationParameters 目录下。
配置变量不能用点分隔,推荐下划线。
示例:
在 ApplicationParameters\Local.1Node.xml 中配置应用环境。

在 ApplicationPackageRoot\ApplicationManifest.xml 中定义应用环境变量,这里变量名可以与 ApplicationParameters\Local.1Node.xml 中定义的变量名要相同。

在 ApplicationPackageRoot\ApplicationManifest.xml 的 Actor 中重写该配置

在 XXXActor\PackageRoot\Config\Setting.xml 中接收配置

部署流程
VS右键将应用打包,打包输出目录可以在VS Output窗口查看。

打包后目录结构如下所示:

将要部署的应用中的配置文件和部署脚本也复制到打包目录,组成如下结构:

用管理员权限打开Powershell,切换到路径 SfPkg下,执行以下命名:
连接到本地集群:
Connect-ServiceFabricCluster localhost:19000
或通过修改脚本跳过主动连接集群的步骤,只需要在 Deploy-FabricApplication.ps1 如下位置,增加 $global:clusterConnection = $clusterConnection

部署应用:
.\Deploy-FabricApplication.ps1 -ApplicationPackagePath .\pkg -PublishProfileFile .\PublishProfiles\Local.1Node.xml -DeployOnly:$false -ApplicationParameter:@{} -UnregisterUnusedApplicationVersionsAfterUpgrade $false -OverrideUpgradeBehavior 'None' -OverwriteBehavior 'SameAppTypeAndVersion' -SkipPackageValidation:$false -ErrorAction Stop
部署顺利就可以看到如下结果:

到这,Service Fabric Application 用 Powershell 读取指定配置文件部署到本地集群的方案就结束了。
Service Fabric 用 Powershell 部署应用到本地的更多相关文章
- ServiceFabric极简文档-1.1 附属文件:规划和准备 Service Fabric 独立群集部署
准备好要充当节点的计算机 下面是要添加到群集的每台计算机的建议规格: 至少 16 GB RAM 至少 40 GB 可用磁盘空间 4 核或更高规格的 CPU 所有计算机与安全网络连接 Windows S ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- 如何在本地数据中心安装Service Fabric for Windows集群
概述 首先本文只是对官方文档(中文,英文)的一个提炼,详细的安装说明还请仔细阅读官方文档. 虽然Service Fabric的官方名称往往被加上Azure,但是实际上(估计很多人不知道)Service ...
- 在Service Fabric上部署Java应用,体验一把微服务的自动切换
虽然Service Fabric的Java支持版本还没有正式发布,但是Service Fabric本身的服务管理.部署.升级等功能是非常好用的,那么Java的开发者可以如何利用上Service Fab ...
- Service Fabric本地开发部署修改数据目录
以修改5节点非安全模式为例: 在C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\FiveNode目录下,修改 ...
- Powershell Deploy Service Fabric Application To Local Cluster
之前写过一篇用 Powershell 部署 Service Fabric Application 到本地集群的随笔,感觉过程有点复杂,这次将流程简化,只需要将应用程序打包,加上配置文件就可以了. ...
- 【Service Fabric】小白入门记录 本地Service Fabric集群安装及设置
本篇内容是自学自记,现在我还不知道Service Fabric究竟是怎么个入门法,反正按照入门教程先进行本地Service Fabric集群的安装,万里路始于足下,要学习总得先把环境装好了才能开始学习 ...
- ServiceFabric极简文档-1.0 Service Fabric 自定义集群部署
Service Fabric 部署集群:https://docs.microsoft.com/zh-cn/azure/service-fabric/service-fabric-get-started ...
- Jenkins中使用Azure Powershell连接Service Fabric报错not recognized的原因与解决办法
一.使用背景 在涉及Azure service Fabric的自动化应用场景中,依赖于Service Fabric的Azure Powershell cmdlets,我们可以使用Jenkins能实现c ...
随机推荐
- 【转】jmeter压力测试
jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...
- java的Swing编程====实现鼠标双击一下==画图===getMouseClicked的方法
总结: 使用匿名类,但是用实现接口的方式呢??? package com.aa; import java.awt.Color; import java.awt.Graphics; import jav ...
- memcache常见问题及解答
memcached的cache机制是怎样的? Memcached主要的cache机制是LRU(最近最少用)算法+超时失效.当您存数据到memcached中,可以指定该数据在缓存中可以呆多久Which ...
- spring mvc helloworld 和表单功能、页面重定向
Spring MVC Hello World 例子 这里有个很好的教程:https://www.cnblogs.com/wormday/p/8435617.html 下面的例子说明了如何使用 Spri ...
- 解决:An internal error occurred during: "Launching New_configuration". Path for project must have only one segment.
问题: 点击运行时eclipse报错如下: An internal error occurred during: "Launching New_configuration". Pa ...
- springboot成神之——Scheduler定时任务
本文介绍spring的Scheduler定时任务 目录结构 config scheduler @Scheduled配置参数 本文介绍spring的Scheduler定时任务 目录结构 config / ...
- CDM中,创建一个或多个组合属性的唯一约束
除主键外,有时还需要创建一个或多个组合字段的唯一约束,方法如下: 双击打开实体,在idntifier标签页中可看到默认主键的唯一约束,在其下方添加一条记录,然后双击该记录,打开约束设置窗口 在该窗口的 ...
- xUtils怎么post请求上传json数据
InfoSmallCodeBinding smallCode = new InfoSmallCodeBinding(); smallCode.setSmallCode("测试"); ...
- ThinkPHP5如何引用新建的配置文件?
1.在Application文件夹下建立extra 文件夹,并把新建的配置文件(例如字典配置文件dictConfig.php等)放入此文件夹: 2.在代码中使用 Config::get("d ...
- 页面布局 frameset元素
frameset.html: <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...