How to revert new deployment to old one in Service Fabric
As you know, Service Fabric is one of services to achieve Microservice architecture. There are two options when you got bad deployments using Service Fabric.
- manual deployment: "Start-ServiceFabricApplicationUpgrade" PowerShell command
- VSTS deployment: create new Release using existing build packages
Revert with "Start-ServiceFabricApplicationUpgrade"
Service Fabric retains old application packages for a while like below. As far as I confirmed, it should retain more than 24 hours.
Meanwhile the retainment, you can revert from new deployment to old one with below PowerShell commands.
Login-AzureRmAccount $applicationName = 'fabric:/FabricApp01' $connectArgs = @{ ConnectionEndpoint = "'<your cluster name'".westus.cloudapp.azure.com:19000'; X509Credential = $True; StoreLocation = "CurrentUser"; StoreName = "My"; ServerCommonName = "'your cluster name'.westus.cloudapp.azure.com"; FindType = 'FindByThumbprint'; # "Client certificates" thumbprint. Pick up this value from "security" item in your cluster on Azure Portal FindValue = "YYYYYYYYYY7e3372bc1ed5cf62b435XXXXXXXXXX"; # "Cluster certificates" thumbprint. Pick up this value from "security" item in your cluster on Azure Portal ServerCertThumbprint = "YYYYYYYYYY2E67D7E54647A12B7787XXXXXXXXXX" } Connect-ServiceFabricCluster @connectArgs $app = Get-ServiceFabricApplication -ApplicationName $applicationName $app $table = @{} $app.ApplicationParameters | ForEach-Object { $table.Add( $_.Name, $_.Value)} Start-ServiceFabricApplicationUpgrade -ApplicationName $applicationName -ApplicationTypeVersion "1.0.2.52" -ApplicationParameter $table -UnmonitoredAuto
You can watch it progress in Service Fabric Explorer like below.