前置說明 安裝 Service Fabric SDK,會在本機 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK 生成部署腳本,如下圖: 用VS創建一個 Service Fabric 應用後, ...
前置說明
安裝 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下,執行以下命名:
.\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 讀取指定配置文件部署到本地集群的方案就結束了。