Continuous integration 如何保持Sitecore数据库的一致性?

Continuous integration 如何保持Sitecore数据库的一致性?,continuous-integration,sitecore,sitecore6,Continuous Integration,Sitecore,Sitecore6,我们有5个环境-开发、UAT、登台、实时和灾难恢复 拥有100多个内容编辑器,使Live Sitecore数据库内容增长更快 因此,几乎每两周内容树都会与开发和UAT环境不同步。当我们尝试开发新事物时,它是过时的内容,有时新的功能会破坏现有环境 除了定期创建软件包和更新,以便我们能够遵循适当的CI之外,还有谁能建议一种保持所有Sitecore数据库同步的理想方法吗?如果您遇到过,它是一种Sitecore数据库比较工具 这就是他们对Razl的看法: Razl允许开发者在两个Sitecore数据库之

我们有5个环境-开发、UAT、登台、实时和灾难恢复

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

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

除了定期创建软件包和更新,以便我们能够遵循适当的CI之外,还有谁能建议一种保持所有Sitecore数据库同步的理想方法吗?

如果您遇到过,它是一种Sitecore数据库比较工具

这就是他们对Razl的看法:


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

Razl不是一个持续集成的解决方案,它只是一个数据库比较工具。
为Sitecore设置适当的CI正是我当前项目所做的,这就是我们提出的:

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

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

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

目前,我自己也在使用免费的替代方案,效果非常好。

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

最初的缺点是无法实现自动化,但在Razl 3.0(我认为它是从Razl 2.4开始的)中,添加了Razl脚本,因此您可以轻松地自动化环境之间的Sitecore数据库同步

要了解其他人如何使用它,请参阅肖恩·霍尔梅斯比的评论:

以及尼古拉·戈采夫的评论:


它非常便宜,而且有了v3.0,它比最初的版本强大得多,后者需要通过GUI界面进行手动操作。

我发现Razl的可用性非常有限,我不建议您在这种特殊情况下定期同步多个实例。我支持使用TDS的建议,它非常适合自动推送内容。回答很好,我喜欢您发布的TDS替代方案。感谢您提供的免费替代方案。我相信刺猬就是爱你;)和独角兽在一起再开心不过了。确保获得最新的v3