We would like to use A/B deployment strategy with Azure Web App deployment slots.
Our pipeline would be Acc->Stage->Preprod->Production.
Deployments to Stage would deploy automatically to “PreProd” deployment slot in production.
Production deployment would be done manually usually few days later.
I’ve read that recommended way to do this is to create separate environment for example “PreProd” having all deployment targets in this environment as “PreProd” deployment slots.
However this causes lots of overhead and chance of misconfiguration when dealing with variables.
Our existing variables are scoped with environments and this setup would force us to add “PreProd” to each variable scoped to “Production” in practice go through hundreds of variables manually.
Another way to handle this could be to use channels:
- Create new channel FromAccToStageToPreProd RC->Stag->Preprod(Preprod Deployed automatically)
- Create another channel StraightToProductionWithSwap
- Modify deployment projects to execute slot deployment steps only with channel FromAccToStageToPreProd
- Deploy to production using StraightToProductionWithSwap lifecycle that would be scoped to execute actual slot swap and any other production steps
Do you see that using channels would be a viable option to handle this?
Any other way to handle this?