We are working on improving the support for Continuous Delivery in Sitefinity. Our goal for the next release is to enable you to easily include Sitefinity instances as part of a Continuous Delivery setup and deploy new versions of your website across environments without a need to merge conflicts.
This can be achieved based on the following capabilities in Sitefinity:
I. New way for storing configurations:
II. Export changes in the database structure to the file system:
A basic CI/CD setup would look as follows:
A few other points:
The above is a general explanation of the CD support in Sitefinity. There are a lot details behind all this, that I am skipping for the sake of simplicity. If you have any questions - feel free to ask :)
Thumbs up for this! Right now I am working with multiple web.config transformations and a script to replace .config files for each environment. It sounds like I could get rid of all that stuff once this is implemented.
Would this also work for changes to Dynamic Modules? Adding/removing/editing fields and content types for example?
Yes, it will transfer changes to Dynamic Modules too. Once you export for deployment, Sitefinity will place the necessary Dynamic Modules definitions in the Deployment folder. When the target instance is restarted, it will read these definitions and apply your changes.
You will still need some config transformations though for staff that define whether your instance is source or target and for setting read-only config mode to on/off.
I am happy you like the new capabilities and hope they will be useful for your projects.
I was curious about one of your points about exporting configurations that are normally stored in the database. Will that work from a predetermined list of configurations? Or is this something we could take advantage of with custom configurations?