How best set up development and production platforms
I've built my first sites (on one instance of Umbraco) and I am about to publish them to the production server.
I use Visual Studio to develop the sites. The files are on my local client but the database is on the production server.
When I publish the files to the production server, it will be using the same database. In other words, I'll have one database, which will be used for my development platform and my production platform
I guess it's important to keep the files and the database synchronised, this doesn't sound like a good idea!
How would you suggest I set up the development and production platforms?
There are seval ways to keep data in sync. The first package I think you should have a look at is Courier with this package you can transfer your content, document types, templates, media, media types, macros, CSS, images, and scripts, without you having to lift more than one finger.
Other packages that you could have a look at could be Umport
Umport helps you automate the deployment of your Umbraco configuration between environments. Simply export the configuration of the source environment and import it on the target environment and you're good to go.
When I set up my dev and production instances, I like to set them up with separate databases. I use a package called uSync to help me keep my document types, media types, data types, and all that stuff sync'd. I usually don't want any of the test content that I'm writing on dev to end up on production, so I either write content directly on production, or I write it on a staging/authoring site and deploy it to production using a content deployment tool of some sort (like the ones that Dennis was bringing up).
uSync can be configured to "write" on your dev machine and to "read" on your staging or production instances. When usync is in write mode, it will write out the doc type and data type data as xml, so you can check it into source control. Then on the production site, it can read that xml and make the appropriate database changes. The tool is pretty integral to most of the sites we are working on. I highly recommend it. I would, however, caution you to backup your database before you uSync anything significant. Because the tool is automating changes to the database, it is best to be a little bit paranoid. I've checked in bad uSync files before and corrupted things.
uSync seems to work well for us in keeping all the development side of things in source control and deploying it to Test and Live servers.
We move our code files (Macros, Document Types, Templates, scripts, etc) from Development -> Test -> Live
But we couldn't fins a good tool for bringing content from Live -> Test -> Development
We tried uSync.ContentEdition, but it seems to introduce conflicts easilly.
Courier seems to fail on an initial try, do you recommend any other tools?
Ideally we would just clear all content in Test and bring all content from Live and then the same into Development.
Hi Mark,
Sorry to jump into this thread. Do i have to install uSync on both environments? (Dev and Prod). I installed it now on the Dev, can I just include the related files and folders and publish to production, would the uSync get installed properly on Prod or I have to install it separately on the Prod?
the best way to do this is with nuget if you can, because then any publish or MsDeploy will take the usync files across with it. but you can just put the package on both ends of the site.
at the core of it usync is two dll's (jumoo.usync.core.dll and jumoo.usync.backoffice.dll) and two config files (usynccore.config and usyncbackoffice.config) so you can just copy them over (with the usync folder for changes) to get usync on a different box.
How best set up development and production platforms
I've built my first sites (on one instance of Umbraco) and I am about to publish them to the production server.
I use Visual Studio to develop the sites. The files are on my local client but the database is on the production server.
When I publish the files to the production server, it will be using the same database. In other words, I'll have one database, which will be used for my development platform and my production platform
I guess it's important to keep the files and the database synchronised, this doesn't sound like a good idea!
How would you suggest I set up the development and production platforms?
Your help would be much appreciated.
Thanking you in anticipation.
Roger
Hi Roger,
There are seval ways to keep data in sync. The first package I think you should have a look at is Courier with this package you can transfer your content, document types, templates, media, media types, macros, CSS, images, and scripts, without you having to lift more than one finger.
http://umbraco.com/products/more-add-ons/courier-2
Other packages that you could have a look at could be Umport
Umport helps you automate the deployment of your Umbraco configuration between environments. Simply export the configuration of the source environment and import it on the target environment and you're good to go.
https://our.umbraco.org/projects/developer-tools/umport
The last package I would recommend you to have a look at this the Conveyor package this is for sync Content of your umbraco installation. https://our.umbraco.org/projects/backoffice-extensions/conveyor/
This is some packages that you could consider when you are working with more than one development enviroment
Hope this helps,
/Dennis
When I set up my dev and production instances, I like to set them up with separate databases. I use a package called uSync to help me keep my document types, media types, data types, and all that stuff sync'd. I usually don't want any of the test content that I'm writing on dev to end up on production, so I either write content directly on production, or I write it on a staging/authoring site and deploy it to production using a content deployment tool of some sort (like the ones that Dennis was bringing up).
uSync can be configured to "write" on your dev machine and to "read" on your staging or production instances. When usync is in write mode, it will write out the doc type and data type data as xml, so you can check it into source control. Then on the production site, it can read that xml and make the appropriate database changes. The tool is pretty integral to most of the sites we are working on. I highly recommend it. I would, however, caution you to backup your database before you uSync anything significant. Because the tool is automating changes to the database, it is best to be a little bit paranoid. I've checked in bad uSync files before and corrupted things.
uSync seems to work well for us in keeping all the development side of things in source control and deploying it to Test and Live servers.
We move our code files (Macros, Document Types, Templates, scripts, etc) from Development -> Test -> Live
But we couldn't fins a good tool for bringing content from Live -> Test -> Development
We tried uSync.ContentEdition, but it seems to introduce conflicts easilly. Courier seems to fail on an initial try, do you recommend any other tools? Ideally we would just clear all content in Test and bring all content from Live and then the same into Development.
Hi Mark, Sorry to jump into this thread. Do i have to install uSync on both environments? (Dev and Prod). I installed it now on the Dev, can I just include the related files and folders and publish to production, would the uSync get installed properly on Prod or I have to install it separately on the Prod?
Thanks
Hi
uSync does need to be installed on both ends -
the best way to do this is with nuget if you can, because then any publish or MsDeploy will take the usync files across with it. but you can just put the package on both ends of the site.
at the core of it usync is two dll's (
jumoo.usync.core.dll
andjumoo.usync.backoffice.dll
) and two config files (usynccore.config
andusyncbackoffice.config
) so you can just copy them over (with the usync folder for changes) to get usync on a different box.Thanks Kevin. It seems to be working fine here.
is working on a reply...