我们有5个环境 - 开发,UAT,升级,直播和灾难恢复。
拥有超过100个内容编辑器,使Live Sitecore数据库内容增长更快。
所以几乎每两周内容树都与开发和UAT环境不同步。当我们尝试开发新东西时,它是过时的内容,有时候新功能会打破现场环境。
请有人建议一种理想的方法来保持所有Sitecore数据库同步,除了创建包和定期更新,以便我们可以遵循正确的CI吗?
答案 0 :(得分:20)
RAZL不是您应该依赖的持续集成解决方案,它只是一个数据库比较工具 为Sitecore设置正确的CI正是我为当前项目所做的,这就是我们想出的:
<强> TDS:强>
如果您愿意花钱,请查看TDS (Team Development for Sitecore)
它与Visual Studio集成,为您提供Sitecore项目序列化的工具,然后您可以将它们存储在源代码管理中
然后,构建服务器将能够获取这些序列化文件中的任何更改,并将它们部署到Test,Staging甚至Production环境中。
<强>替代:强>
一个免费的替代方案是使用三个开源模块的组合:
我现在正在使用免费替代品,而且效果很好。
答案 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界面进行手动操作。