2.4 KiB
2.4 KiB
Rollback Plan
Strategy
Sinds deze stap wordt de testomgeving automatisch gedeployed door de deploy-test job (zie deployment-instructions.md). "Rollback" betekent hier: de workflow opnieuw laten draaien tegen een eerdere, bekend-goede commit/branch, zodat die build automatisch opnieuw naar de test-Pi wordt geüpload en de huidige (foutieve) bestanden overschrijft.
Rolling Back the Live Site (Test-omgeving)
- Identificeer de laatste bekend-goede commit op
master(of een eerdererelease/*-branch/tag) die succesvol gedeployed was. - Trigger de Continuous Integration workflow handmatig (
workflow_dispatch) tegen die commit/branch/tag in Gitea Actions. - De
deploy-testjob uploadt automatisch de resulterendedist/-build via SCP naar/html/test/slpsoftwareop de webserver-Pi — dit relatieve pad staat t.o.v. de root van de SCP-gebruiker (/mnt/storage1/www), waardoor nginx dezelfde bestanden serveert vanaf het volledige pad/mnt/storage1/www/html/test/slpsoftware(zie de uitleg hierover indeployment-instructions.md) — en overschrijft daarmee de huidige (foutieve) bestanden. - Verify de live testomgeving reflecteert de teruggedraaide versie (via het adres achter de reverse proxy).
Keeping Rollback Possible
- Do not delete
release/*branches (or tags) after they've been deployed, so you can always re-run the pipeline against a known-good point. - Optionally keep a local/manual copy of the last few uploaded
dist/artifacts as an extra safety net, since Gitea Actions artifacts expire after the configured retention period (currently 1 day, see.gitea/workflows/continuous_integration.yaml).
Database / Stateful Rollback Considerations
Not applicable — this unit (react-frontend-app) is a static marketing site with no database and no server-side state. There is nothing to roll back beyond the static files themselves.
Future Work
Zodra ook productie geautomatiseerd wordt (zie deployment-plan.md's "Open Item"), moet dit rollback-plan uitgebreid worden met een vergelijkbare procedure voor de deploy-production-job.
Post-Rollback Checklist
- Confirm the Gitea Actions run for the rollback build completed successfully
- Confirm the live site reflects the rolled-back version (spot-check a recently changed section/copy)
- Note the rollback (which release was restored and why) somewhere the team can find it
- If the rollback was due to a bug, track a fix before re-attempting the failed release