如何保持Sitecore数据库一致?

时间:2013-10-17 22:08:59

标签: continuous-integration sitecore sitecore6

我们有5个环境 - 开发,UAT,升级,直播和灾难恢复。

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

所以几乎每两周内容树都与开发和UAT环境不同步。当我们尝试开发新东西时,它是过时的内容,有时候新功能会打破现场环境。

请有人建议一种理想的方法来保持所有Sitecore数据库同步,除了创建包和定期更新,以便我们可以遵循正确的CI吗?

3 个答案:

答案 0 :(得分:20)

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

<强> TDS:
如果您愿意花钱,请查看TDS (Team Development for Sitecore) 它与Visual Studio集成,为您提供Sitecore项目序列化的工具,然后您可以将它们存储在源代码管理中 然后,构建服务器将能够获取这些序列化文件中的任何更改,并将它们部署到Test,Staging甚至Production环境中。

<强>替代:
一个免费的替代方案是使用三个开源模块的组合:

  • Unicorn(用于自动序列化您对Sitecore的更改 项)
  • Courier(基于序列化项目的包生成)
  • Sitecore Ship(用于自动部署Sitecore软件包)

我现在正在使用免费替代品,而且效果很好。

答案 1 :(得分:5)

您是否遇到RAZL,它是Sitecore数据库比较工具。

这就是他们对Razl的看法:

Razl允许开发人员在两个Sitecore数据库之间进行完整的并排比较;突出显示缺少或不是最新的功能。 Razl允许您找到一个丢失的模板,将其移动到正确的数据库。

答案 2 :(得分:0)

将Razl称为“数据库比较工具”是非常不正确的 - 从第一个版本开始,您可以将子树从一个Sitecore数据库复制到另一个。

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

要了解其他人如何使用它,请参阅Sean Holmesby的评论: https://community.sitecore.net/developers/f/8/t/1767

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

它非常便宜,而且使用v3.0,它比初始版本更强大,它需要通过GUI界面进行手动操作。