【问题标题】:How to keep Sitecore database consistent?如何保持 Sitecore 数据库一致?
【发布时间】:2013-10-17 22:08:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: continuous-integration sitecore sitecore6


    【解决方案1】:

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

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

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

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

    我目前正在使用免费的替代方案,效果很好。

    【讨论】:

    • 我赞同使用 TDS 的建议,它非常适合自动推送内容。
    • 很好的答案,我喜欢您发布的 TDS 替代品。
    • 感谢您提供免费替代品。我敢肯定刺猬只是爱你;)
    • 独角兽再好不过了。确保获得最新的 v3
    【解决方案2】:

    你有没有遇到过RAZL,它是一个 Sitecore 数据库比较工具。

    这就是他们对 Razl 的评价:

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

    【讨论】:

    • 我发现 Razl 的可用性非常有限,对于这种需要定期保持多个实例同步的特殊情况,我不建议使用它。
    【解决方案3】:

    将 Razl 称为“仅仅是一个数据库比较工具”是完全错误的 - 从第一个版本开始,您可以将子树从一个 Sitecore 数据库复制到另一个。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 2015-09-03
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多