2017-10-05 3 views
0

Jenkinsジョブからの展開をPowerShellを使用して実行しています。ジョブは正常に実行され、クラスタでデプロイメントが開始されますが、失敗してロールバックされることがあります。この場合、通知は得られません。サービスファブリック展開の監視

ステータスをポーリングするpowershellコマンドレットを使用して、または成功または失敗で完了したかどうかを知るための何らかの方法で、自分のjenkinsジョブからのアップグレードを監視する方法はありますか?

答えて

0

「スマートな方法がある場合はわかりませんが、Get-ServiceFabricApplicationUpgrade」コマンドレットを使用して特定のアプリケーションのアップグレード状態を取得できます。純粋な偶然

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    : 

この意志をまた、ロールバック状態にあるかどうかを報告します。

ヘルスモニタリングからコールバック/イベントなどを取得できるかどうかは、基本的にはロールバックの原因になるので、面白いかもしれません。

+0

これは私が考えていたものです。好奇心から - すべてのアプリケーションサービスをすべてのノードに展開するためにアップグレードにかかる時間を監視したことがありますか?私たちのテスト環境で4つのサービスと3つのノードからなるアプリケーションを使って私には長すぎるようです。 –

+0

これはアップグレードの健全性チェックに完全に依存します。私は、各アップグレードドメインが進む前に15分間待つようなデフォルトがあると思います。私たちのprodction環境では、完全なアップグレードのためにおよそ1時間かかりますが、テストではすべてのヘルスチェックを有効にして、失敗などに関係なく処理を完了します。完了まで数分かかる –