I am interested in finding out what approaches are used for managing the release cycle for SharePoint Online site collections.
Our idea is to use three seperate site collections for a solution representing the dev, test and prod releases - "sitecollname_dev", "sitecollname_test" and "sitecollname".
So we want to build the solution in the "_dev" site coll, then have a way of replicating this to "_test" and finally a way of replicating it to the prod site coll. We also need to replicate back down the chain for maintenance/enhancement purposes.
However I have not found a bulletproof way to replicate a site collection in SPO - nothing that mimics Backup-SPSite and Restore-SPSite PowerShell cmdlets we used on-prem for this purpose.
I really like the look of the PnP Provisioning Engine, however the first time I used it I encountered issues re: lookup fields (as per this issue: https://github.com/SharePoint/PnP-Sites-Core/issues/1105), so am not sure if it is appropriate for this purpose (though if not, I hope it soon will be!).
Can I please get some descriptions of how others are addressing this issue?
In my case PnP fits perfectly with some XML templates and the provisioning framework. You can find some issues, but normally, are fixed sooner or later by the community, and also, you can extend the framework to meet your requirements.
The difficult part is about moving down from Prod to test - dev, as the provisioning framework doesn't export content. If you need content, there are some 3rd party tools to do that, or again, you can extend the PnP to export the things that you need.