How to keep Sitecore database consistent?
Asked Answered
R

3

5

We have 5 environments - Development, UAT, Staging, Live and DR.

Having more than 100 content editors, makes the Live Sitecore database content grow faster.

So almost every fortnight the content tree is out of sync with Development and UAT environment. When we try to develop new things, it is out dated content and sometimes new functionality breaks the live environment.

Please can anyone suggest an ideal way of keeping all the Sitecore databases in sync apart from creating packages and updating regularly so that we can follow a proper CI?

Rarefaction answered 17/10, 2013 at 22:8 Comment(0)
H
5

Have you come across RAZL, it is a Sitecore Database Comparison Tool.

This is what they say about Razl:

Razl allows developers to have a complete side by side comparison between two Sitecore databases; highlighting features that are missing or not up to date. Razl allows you to find that one missing template, move it to the correct database.

Hermaphroditism answered 17/10, 2013 at 22:19 Comment(1)
I have found that Razl is quite limited in its usability, and I would not recommend it for this particular case where you want to keep multiple instances in sync regularly.Echevarria
D
20

RAZL is not a solution that you should rely on for Continuous Integration, it's merely a database comparison tool.
Setting up proper CI for Sitecore is exactly what I'm doing for my current project and this is what we came up with:

TDS:
If you are willing to spend money, then take a look at TDS (Team Development for Sitecore).
It integrates with Visual Studio and provides you with tools for serialization of Sitecore items which you can then store in your source control.
A build server would then be able to pick up any changes in those serialized files and deploy them to your Test, Staging and even Production environment.

Alternative:
A free alternative to this is to use a combination of three open source modules:

  • Unicorn (for automatic serialization of your changes to Sitecore items)
  • Courier (for package generation based on serialized items)
  • Sitecore Ship (for automated deployment of Sitecore packages)

I'm working with the free alternative myself at the moment and it works great.

Dyne answered 18/10, 2013 at 8:26 Comment(4)
I second the suggestion for using TDS, it is great for doing automated pushes of content.Echevarria
Great answer, I like the TDS alternatives you posted.Pain
Thanks for the free alternatives. I'm sure Hedgehog just loves you ;)Kirghiz
Couldn't be happier with Unicorn. Make sure to get the latest v3Moult
H
5

Have you come across RAZL, it is a Sitecore Database Comparison Tool.

This is what they say about Razl:

Razl allows developers to have a complete side by side comparison between two Sitecore databases; highlighting features that are missing or not up to date. Razl allows you to find that one missing template, move it to the correct database.

Hermaphroditism answered 17/10, 2013 at 22:19 Comment(1)
I have found that Razl is quite limited in its usability, and I would not recommend it for this particular case where you want to keep multiple instances in sync regularly.Echevarria
S
0

It is quite incorrect to call Razl 'merely a database comparison tool' - from the first release, you could copy subtrees from one Sitecore database to another.

The initial drawback was that it could not be automated, but with Razl 3.0 (I think it started with Razl 2.4), Razl scripting was added, so you can easily automate Sitecore database syncing between environments.

To see how others use it, see Sean Holmesby's comments: https://community.sitecore.net/developers/f/8/t/1767

and Nikola Gotsev's comments: https://sitecorecorner.com/2014/10/27/the-amazing-world-of-razl-part-1/

It is very inexpensive, and with v3.0, it is much more powerful than the initial release, which required manual manipulation via the GUI interface.

Swagsman answered 14/7, 2016 at 19:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.