Umbraco部署内容的最佳实践

DrZ*_*uso 5 c# asp.net-mvc umbraco

所以,我有一个Umbraco的舞台和现场环境.

我们的内容人员会在Live中进行更改,因为他们需要立即看到某些内容.

现在,为了支持这一点 - 我正在复制并将他们所做的事情粘贴到我们的暂存环境中并进入源代码管理.

有没有更好的方法呢?

bow*_*erm 14

据我所知,我建议使用相同的数据库设置登台站点和生产站点.除非您使用ContentService将内容提取到模板中(因为它会访问数据库,您应该避免使用它),否则您的umbraco站点应该只访问App_Data/umbraco.config xml缓存并检查App_Data/TEMP/ExamineIndexes中的索引.这意味着即使您的暂存和生产站点将共享同一数据库,在登录并重新发布整个站点或重新发布特定节点之前,您在暂存站点上所做的更改也不会显示在生产站点上.

这种方法绝对不适合每种情况.例如,我们的客户不希望出于安全原因共享数据库.他们希望尽可能多地与生产站点和临时站点分离.如果网站上的内容对时间非常敏感,我也不会使用它.如果内容在准备好之前意外发布对您的客户来说非常糟糕,这可能不是最好的解决方案.我们没有遇到任何麻烦,我们还没有准备好自动刷新xml缓存,但我不相信缓存可以保护敏感信息不会被提前发布.

我们一直在使用它,并对简单性非常满意.移动部件非常少,因此与下面的一些其他部署方法相比,这是一种非常安全的部署方式.为了使我们的客户更方便用户,我们在登台网站上设置了一个按钮,当点击该按钮时,将重新发布生产站点上该节点的缓存.我希望将其作为一个包发布,并在准备就绪时通过指向包的链接更新此答案.

更新 我会考虑上述方法的实验.在umbraco 7的后续版本中,Umbraco已经在负载平衡场景中投入了大量的工作,他们所完成的一些工作可能会使我所说的无效.如果您决定试一试,请记住这一点.

以下是一些在处理内容部署时需要考虑的其他工具:

输送机是一个年轻的包(至少现在是).它有一个仪表板,您可以使用它来有选择地从生产站点导出内容.然后,您可以登录暂存站点上的后台并导入内容.我这个月第一次尝试这个.到目前为止,它看起来非常有前途,但我不能从经验中给你很多建议.

Courier旨在成为内容部署的终极解决方案.它是为数不多的内容部署选项之一,允许您有选择地仅部署您想要的内容.您可以右键单击内容并从分段到生产或从生产到分段进行部署.Courier还会尝试检测依赖关系并将其与您的内容选择一起部署.Courier的诀窍在于,当出现问题时,这是一个大问题.网站可能会出现故障,根据出现的问题,可能需要花费大量时间来恢复它们.Courier可能会尝试部署它检测为依赖项的文档类型,并意外破坏事物.我还发现它需要大量的培训才能正常使用.我没有取得很多成功,允许非技术人员使用Courier.如果您使用Courier,请设置测试环境并玩一会儿.确保您知道哪些工作流程适合您,哪些会破坏事物.快递会让你在脚下射击自己. 更新: Umbraco一直在使用Courier为他们的新Umbraco服务.他们一直在寻找和修复很多错误.2015版Courier更加稳定.如果你想使用Courier,请确保你使用的是Umbraco 7的最新版本.我最近在Courier版本2.50.1上进行了一些测试.好多了.我还是会谨慎行事.另一个更新 Umbraco越来越依赖Courier.他们宣布了一个名为Umbraco Deploy的新的重新设计的Courier.我很期待.一旦发布,这将是比Courier更好的选择,我希望它的功能类似.

Umbraco Cloud是一个完整的SaaS设置,Umbraco一直在努力工作.他们可以在Azure中托管您的Umbraco站点,并且拥有非常简洁的UI和流程,不仅可以部署站点的内容和媒体,还可以部署所有代码,文档类型和数据类型.这仍然有点新,很多非常复杂的网站可能不适合Umbraco Cloud.此外,严重依赖文档类型继承与文档类型组合的站点可能存在问题.据我所知,Umbraco Cloud适用于中小型网站,但Umbraco确实有一些非常大的网站托管在Umbraco Cloud上.Umbraco Cloud在很大程度上依赖于基于Courier的新Umbraco Deploy.如果您的网站遇到新Courier问题,可能会在Umbraco Cloud上出现问题. uMirror是我从未使用过的,但它存在且可能有用.

uSync Content Edition是我从未使用过的另一个版本.我们确实有使用常规uSync的经验,并且我发现作者对问题和问题非常敏感.

  • 我不知道他们具体改变了什么.我已经测试了Umbraco 7的Courier v2.50.1.我还没有在野外使用它的经验.试图在我支持的一些开发站点上以与旧版本相同的方式打破它.它感觉更加稳定,我无法打破它.Umbraco一直非常依赖Courier作为他们的Umbraco即服务项目.他们自己感受到了痛苦,并且已经做了很多工作来修复它.所有这一切,我仍然会谨慎对待Courier,直到它向你证明了这一点. (2认同)

Hyw*_*ees 2

听起来您正在寻找类似uSync.ContentEdition 的东西,它允许您将数据库内容导出到磁盘。您可以将文件复制到暂存,然后将它们导入到数据库中。但要小心,作者本人表示这是“实验性的(但正在变得更好)”。

另一种选择是经常将数据库本身从实时复制到暂存数据库,假设暂存数据库可以被覆盖。这就是我要采取的方法。