将内容更新从登台服务器部署到实时服务器


8

我们正在尝试将内容更新从登台服务器部署到实时服务器,但是很难找到一种好的方法来做到这一点。我们需要能够部署新页面,页面更新以及偶尔的页面删除。我们的站点还广泛使用book模块,因此Deploy模块目前不适用于我们。我们正在使用功能来进行大型结构更新。因此,我们关心的只是每日内容更新。

是否有任何模块可以做到这一点并处理书籍页面?


我认为这与drupal.stackexchange.com/q/137/134有关。您可以查看那里的答案,看看是否有帮助,或者澄清您的问题以了解为什么与众不同。
Chaulky 2011年

这些答案均不适用于书页或删除。两者对我们都很重要。此外,每次执行完整的数据库和文件转储似乎严重过头了。
antgiant 2011年

更改登台系统时,能否在生产中冻结内容?
BetaRide 2011年

Answers:




1

我在这里假设Drupal 6,并且个人不知道它是否可以与book模块一起使用,但是您是否研究过Deployment


0

您还可以尝试Phing,使用它可以自动:

  • 使用mysqldump转储登台数据库。
  • 使用SCP和公共私钥加密将mysqldump文件从一台服务器复制到另一台服务器。
  • 将mysqldump从文件系统导入数据库。
  • 运行功能全部恢复功能命令(drush fra -y),以便生产服务器获取功能代码中找到的生产设置(例如,块,视图,上下文等)。

我看到的这种方法存在的问题:

您将需要进行非常细粒度的数据库导出,这意味着仅获取node,node_revisions,cck和菜单表。

在最后一点(菜单链接)上,除非您使用相同的URL别名访问舞台服务器和产品服务器,否则您将具有不同的菜单项条目,这将是一个严重的问题。


3
如果可能,我尝试使用Drupal模块。而且,坦率地说,这个想法似乎是一场等待发生的数据损坏事故。
antgiant 2011年

0

我实际上喜欢完整的数据库转储方法,该方法可以编写脚本,并且通常可以在几秒钟内完成。(将修订保持在控制之下,并排除高速缓存表等可以大大减小大小。)您甚至可以创建一个简单的模块,为内容发布者提供触发此过程的接口。

您确实需要考虑您可能会接受实时站点用户提供的任何内容,例如评论或联系表单提交。如果有-令人惊讶的是经常没有-您可以使用外部服务(例如Disqus用作评论的Disqus评论或Marketo的潜在客户生成表格),将此类提交小心地隔离到一个不会被覆盖的单独的Drupal数据库中,或者仔细地不对其进行覆盖导出/导入过程中受影响的表。

在可行的地方,它最终可能是最简单,最快,最可靠的方法。一个永远不接受用户输入(除了外部服务输入)的站点打开了许多大门,可以使它变得更快,更安全。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.