2013-10-17 21 views
5

我们有5个环境 - 开发,UAT,舞台,现场和DR。如何保持Sitecore数据库的一致性?

拥有超过100个内容编辑器,使Live Sitecore数据库内容的增长速度更快。

因此,几乎每两周内容树都与Development和UAT环境不同步。当我们尝试开发新事物时,它过时了内容,有时候新功能会打破现场环境。

任何人都可以建议保持所有的Sitecore数据库同步的理想方式,除了创建包和定期更新,以便我们可以遵循适当的CI?

回答

5

您是否遇到过RAZL,这是一款Sitecore数据库比较工具。

这是他们说的什么拉齐:

拉齐让开发者有两个Sitecore的数据库之间的横向比较完整的一面;突出显示缺少或不是最新的功能。 Razl允许你找到一个缺少的模板,将它移动到正确的数据库。

+0

我发现Razl的可用性相当有限,我不会推荐它在这种特殊的情况下,你希望定期保持多个实例同步。 –

19

RAZL不是您应该依赖于持续集成的解决方案,它只是一个数据库比较工具。
为Sitecore的设置适当的CI正是我在做什么我目前的项目,这是我们想出了:

TDS:
如果你愿意花钱,再看看在TDS (Team Development for Sitecore)
它与Visual Studio集成,并为您提供Sitecore项目序列化工具,然后您可以将其存储在源代码管理中。
构建服务器将能够在这些序列化文件中选取任何更改并将它们部署到您的测试,分段甚至生产环境中。

备选:
到这方面的一个自由选择是使用的三种开源模块的组合:

  • Unicorn(用于变更自动序列到Sitecore的 项目)
  • Courier(用于基于序列化项目的包生成)
  • Sitecore Ship(用于自动部署Sitecore包)

我正在与自由选择我自己在这一刻工作,它很好。

+0

我第二次提出使用TDS的建议,这对于自动推送内容非常有用。 –

+1

很好的答案,我喜欢你发布的TDS替代品。 –

+1

感谢您的免费选择。我相信刺猬只是爱你;) – TheSoftwareJedi

0

调用Razl'仅仅是一个数据库比较工具'是相当不正确的 - 从第一个版本开始,您可以将子树从一个Sitecore数据库复制到另一个。

最初的缺点是它不能自动化,但使用Razl 3.0(我认为它是以Razl 2.4开始的),Razl脚本被添加了,因此您可以轻松自动化环境之间的Sitecore数据库同步。

要看看别人是怎么使用它,看到肖恩Holmesby的评论: https://community.sitecore.net/developers/f/8/t/1767

和尼古拉Gotsev的评论: https://sitecorecorner.com/2014/10/27/the-amazing-world-of-razl-part-1/

这是非常便宜的,并与3.0,它比功能更强大最初的版本,需要通过GUI界面进行手动操作。