Skip to content

Rollback Procedures

App Service Rollback (HISD, mobile-api, mgmt)

Using Deployment Slots

If the deployment used slot swapping:

Terminal window
# Swap back to the previous slot
az webapp deployment slot swap \
--resource-group <rg> \
--name <app-name> \
--slot staging \
--target-slot production

Using Previous Deployment

Terminal window
# List recent deployments
az webapp log deployment list --name <app-name> --resource-group <rg>
# Redeploy previous artifact from Azure DevOps
az pipelines run --name "<pipeline-name>" --branch <previous-good-commit>

Database Rollback

Via DNS Swap (preferred — zero downtime)

If you created a snapshot before the change:

Terminal window
.\database\snapshots\restore-snapshot.ps1 \
-ResourceGroup <rg> \
-SnapshotServer <server> \
-SnapshotName <snapshot-name> \
-Alias primary

Via Point-in-Time Restore

Terminal window
.\database\snapshots\create-snapshot.ps1 \
-ResourceGroup <rg> \
-SqlServer <server> \
-DatabaseName <db> \
-PointInTime "2025-01-15T10:30:00Z"

Then swap DNS to the restored copy.

Mobile App Rollback (mobile-ui)

  • iOS: Contact Apple for expedited review or use Shorebird (if configured)
  • Android: Roll back in Google Play Console > Release management
  • Internal: Distribute previous build via App Center

Checklist After Rollback

  • Verify application health endpoints
  • Check error rates in Application Insights
  • Notify the team in the incident channel
  • Create a post-mortem document