5

我们有 5 个环境 - Development、UAT、Staging、Live 和 DR。

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

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

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

4

3 回答 3

20

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

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

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

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

我自己目前正在使用免费的替代品,效果很好。

于 2013-10-18T08:26:42.120 回答
5

您遇到过RAZL 吗,它是一个 Sitecore 数据库比较工具。

这就是他们对 Razl 的评价:

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

于 2013-10-17T22:19:50.183 回答
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 界面进行手动操作。

于 2016-07-14T19:34:00.357 回答