0
我正在使用powershell從Jenkins作業進行部署。工作會成功,部署將在羣集上開始,但有時會失敗並回滾,在這種情況下,我不會收到通知。Monitoring Service Fabric部署
有沒有一種方法來監視我的jenkins作業的升級使用powershell cmdlet輪詢狀態或某種方式來知道它是否成功完成或失敗?
我正在使用powershell從Jenkins作業進行部署。工作會成功,部署將在羣集上開始,但有時會失敗並回滾,在這種情況下,我不會收到通知。Monitoring Service Fabric部署
有沒有一種方法來監視我的jenkins作業的升級使用powershell cmdlet輪詢狀態或某種方式來知道它是否成功完成或失敗?
如果存在更智能的方法,則不知道,但可以使用「Get-ServiceFabricApplicationUpgrade」cmdlet獲取給定應用程序的升級狀態。
Get-ServiceFabricApplicationUpgrade -ApplicationName fabric:/your/awesomeApp
純屬巧合,我有我們的集羣上運行剛纔的升級,你會得到和輸出如下(我已經調整了一些名字參數等):
ApplicationName : fabric:/your/awesomeApp
ApplicationTypeName : YourAwesomeApp.FabricType
TargetApplicationTypeVersion : 2017.1005.2-r20.1
ApplicationParameters : { "Param1" = "Value1";
"Param2" = "Value2";
"ActorService_MinReplicaSetSize" = "2";
"ActorService_PartitionCount" = "1";
"ActorService_TargetReplicaSetSize" = "3";
}
StartTimestampUtc : 05.10.2017 08.49.39
UpgradeState : RollingForwardInProgress
UpgradeDuration : 00:09:01
CurrentUpgradeDomainDuration : 00:00:00
NextUpgradeDomain : 4
UpgradeDomainsStatus : { "3" = "InProgress";
"0" = "Completed";
"1" = "Completed";
"2" = "Completed";
"4" = "Pending" }
UpgradeKind : Rolling
RollingUpgradeMode : Monitored
FailureAction : Rollback
ForceRestart : False
UpgradeReplicaSetCheckTimeout : 49710.06:28:15
HealthCheckWaitDuration : 00:00:00
HealthCheckStableDuration : 00:02:00
HealthCheckRetryTimeout : 00:10:00
UpgradeDomainTimeout : 00:30:00
UpgradeTimeout : 01:00:00
ConsiderWarningAsError :
MaxPercentUnhealthyPartitionsPerService :
MaxPercentUnhealthyReplicasPerPartition :
MaxPercentUnhealthyServices :
MaxPercentUnhealthyDeployedApplications :
ServiceTypeHealthPolicyMap :
這將還報告它是否處於回滾狀態。
確定您是否可以從Health Monitoring獲取回調/事件或某些內容可能很有趣,因爲這基本上是導致升級回滾的原因。
這就是我的想法。出於好奇 - 您是否曾經監控過您的升級需要多長時間才能將所有應用服務部署到所有節點?似乎對我來說,在我們的測試環境中有4個服務和3個節點的應用需要太長時間 –
這完全取決於您的升級運行狀況檢查。我認爲默認設置是每個升級域在等待15分鐘後才能繼續。在我們的產品環境中,完全升級需要大約一個小時的時間,而在測試中,我們已經完成了所有運行狀況檢查,因此無論故障發生如何,都需要幾分鐘的時間才能完成 –