I've been considering our delivery pipeline for using umbraco and I can't think of a good way to source control the database related content.
Content and Members on our live environment would be different to content and members on our test environment, but the settings and document types would be the same (except between releases). How would you version control this or are we modelling our system incorrectly?
I have not tried source controlling the database - Don't know if it's possible to serialize it somehow.
But a common approach is that you have a database for development and a database for production. On your initial deploy from development to production you (when all document types, members types etc. have been defined and the site is running etc.) you delete any dummy content once the DB has been deployed to live.
Then when you develop new things that needs to be updated in the database you can use Courier to deploy changes http://umbraco.com/products/more-add-ons/courier-2 - You can probably also use courier to make the initial deploy between the development environment and the production environment. This is a commercial package maintained by Umbraco HQ.
Source Controlling Umbraco Solution
I've been considering our delivery pipeline for using umbraco and I can't think of a good way to source control the database related content.
Content and Members on our live environment would be different to content and members on our test environment, but the settings and document types would be the same (except between releases). How would you version control this or are we modelling our system incorrectly?
Hi Ben
I have not tried source controlling the database - Don't know if it's possible to serialize it somehow.
But a common approach is that you have a database for development and a database for production. On your initial deploy from development to production you (when all document types, members types etc. have been defined and the site is running etc.) you delete any dummy content once the DB has been deployed to live.
Then when you develop new things that needs to be updated in the database you can use Courier to deploy changes http://umbraco.com/products/more-add-ons/courier-2 - You can probably also use courier to make the initial deploy between the development environment and the production environment. This is a commercial package maintained by Umbraco HQ.
You can perhaps also look into uSync https://our.umbraco.org/projects/developer-tools/usync or uMport https://our.umbraco.org/projects/developer-tools/umport or even Conveyor https://our.umbraco.org/projects/backoffice-extensions/conveyor or https://our.umbraco.org/projects/collaboration/umigrate
Hope this helps.
/Jan
Hi Ben and Jan,
We are using uSync for source controlling datatypes now, it's not perfect but it works. For source controlling content you can use - uSync.ContentEdition https://our.umbraco.org/projects/developer-tools/usynccontentedition
We used uSiteBulder before this, now we are trying to avoid codeFirst approach.
Thanks
is working on a reply...