2017-08-02 3 views
1

サービスファブリックアプリケーションタイプのバージョンを削除するためにクラスタに何らかの設定を行う方法はありますか?最後の5つのバージョンなどを保存するだけですか?サービスファブリックで古いアプリケーションタイプのバージョンをプロビジョニングする戦略

たとえば、CI/CDに新しいバージョンのサービスファブリックアプリケーションをインストールすると、クラスタにアプリケーションバージョンの種類が残されます。時間の経過とともに自動的にプロビジョニングを解除する方法や、一定数のバージョンのみを保持する方法はありますか?

答えて

1

私の心を渡る2つのオプションがあります -

  • はあなたが展開-FabricApplication.ps1を実行するとUnregisterUnusedApplicationVersionsAfterUpgrade = $真を指定します。このパラメータは、アップグレードが完了した後に存在する使用されていないアプリケーションのバージョンを登録解除するかどうかを示します。

  • あなたのリリースのdefintion、デプロイメントスクリプトにカスタムスクリプトを追加すると、デプロイされているすべてのアプリケーションタイプを解決し、時代遅れだと思われるものをプロビジョニングすることができます。 のコマンドには、Unregister-ServiceFabricApplicationTypeを使用する必要があります。

    #resolve all app types 
    $appTypes = Get-ServiceFabricApplicationType 
    foreach($appType in $appTypes) 
    { 
        #try to find the match with any of installed applications 
        $match = Get-ServiceFabricApplication -ApplicationTypeName $appType.ApplicationTypeName | Where-Object {$_.ApplicationTypeVersion -eq $appType.ApplicationTypeVersion} 
        if(!$match) 
        { 
         Write-Host "Deleting $($appType.ApplicationTypeName) $($appType.ApplicationTypeVersion)" 
         Unregister-ServiceFabricApplicationType -ApplicationTypeName $appType.ApplicationTypeName -ApplicationTypeVersion $appType.ApplicationTypeVersion -Force -Confirm 
        }  
    } 
    
  • コードスニペット用
+0

ニースのおかげで - ここで実行されているものを除くすべてのアプリタイプの登録を解除するスクリプトのいくつかの例です! –

+0

@DaveNようこそ –