Service Fabric 用 Powershell 部署应用到本地

前置说明

安装 Service Fabric SDK,会在本机 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK 生成部署脚本,以下图:shell

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

本文配置文件使用方式是,在 ApplicationParameters中的xml 文件里声明配置变量并赋值,在 ApplicationPackageRoot\ApplicationManifest.xml 中用配置变量进行重写,因此最终的配置都在 ApplicationParameters 目录下。spa

配置变量不能用点分隔,推荐下划线。xml

示例:blog

在 ApplicationParameters\Local.1Node.xml 中配置应用环境。ip

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

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

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

 

部署流程

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 读取指定配置文件部署到本地集群的方案就结束了。

相关文章
相关标签/搜索