前置说明

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

最新文章

  1. node fs lstat 如何区别文件和文件夹
  2. The property on could not be set to a 'Int16' value.You must set this property to a non-null value of type ‘Int32’.”
  3. TCP字节流和UDP数据报区别
  4. HDU 1326 Box of Bricks(水~平均高度求最少移动砖)
  5. StudyFoxCMS-8
  6. 线程入门之优先级priority
  7. JavaScript对SVG进行操作的相关技术
  8. BZOJ 1004 Cards(Burnside引理+DP)
  9. JAVA-----乱码的处理 乱码的解决方法总结
  10. 游标中的static参数
  11. Eclipse中设置注释、日期等信息
  12. [IOS ] - INFO
  13. Objective-c学习笔记3
  14. 201521123048 《Java程序设计》第5周学习总结
  15. Xcode 和 VisualC++输出流的差别的理解
  16. 不接入微信sdk,在APP中实现微信分享,支付
  17. rsync入门使用
  18. SSM整个配置心得
  19. matlab 矩阵拼接
  20. 关于gcc、make和CMake的区别

热门文章

  1. SVN安装和使用总结
  2. 处理大数据对象clob数据和blob数据
  3. leetcode832
  4. centos7 时间设置及ntp
  5. Full Binary Tree(sdut 2882)
  6. BIO与NIO、AIO的区别(转)
  7. 一个简单的AXIS远程调用Web Service示例
  8. linux中memset的正确用法
  9. 09-nginx Rewrite语法详解
  10. SaeMysql操作示例