I've been using Azure DevOps Pipelines for deploying an Episerver website to an Azure App Service.
My deployment to production goes like this:
This works fine, and deployments can be done without affecting users. As long as there are no changes to the database schema or page types.
Because preprod and production use the same database. This does not work well when there are changes to the database schema.
When there are changes to page types and properties it does not work well either. Then I normally run two deploys right after one another, to get the new code deployed to both preprod and production.
Have anyone a solution to this problem?
Hey Tomas, I assume this is pure Azure and not DXC? Have you considered using ReadOnly Database mode?I'd say you could put the production DB in ReadOnly mode, create a preprod DB from the ReadOnly production DB, that you connect your preprod slot to, take it out of ReadOnly mode and update the DB. Once you've verified preprod, swap the slot.https://world.episerver.com/documentation/developer-guides/CMS/Deployment/database-mode/
If this DXC, I'd recommend you speak to Episerver, as there is currently a zero downtime deployment (read-only) feature in Closed Beta.