Drupal部署内容的现代技术

时间:2013-07-01 15:42:15

标签: php drupal deployment module content-management-system

我想知道drupal 7中是否有用于部署内容的现代技术。

我知道有一个名为deployment的模块,但似乎有点不稳定。

我也知道你可以使用node-export导出内容,但我想将功能限制为设置,内容类型等...

我的网站知道它位于开发服务器上,它有面板,网络表单以及大量不同的依赖模块。到目前为止,我认为我认为导出内容的唯一方法是备份和迁移。

有更好的方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

关于在Drupal中的部署,您需要明确区分:

  1. 代码:Drupal核心,贡献模块,您自己的模块,补丁,主题,翻译。
  2. 内容:存储在节点,内容类型和实体中的所有内容。永远在DB。
  3. 配置 (问题出现了......):1)或2)中未包含的所有内容:

    • 网站全局变量
    • 内容类型,捆绑和实体的定义
    • 字段的定义
    • 视图
    • 面板
    • 形式
    • 菜单
    • 词汇表
    • 权限
    • 规则
    • ...
  4. 所有这些配置信息现在都分散在D7的数据库中,管理,部署和维护它真的是一场噩梦。在D8到来之前(这将提供一个新的配置管理系统来精确地解决这个问题),你需要使用像Features和Strongarm这样的模块来解决这个问题。这个过程并不简单,需要精确分割您网站的功能,寻找自包含的部分代码&表示用户案例的配置。如果没有,您会发现许多功能之间存在依赖关系的问题。

    部署代码和内容要容易得多。使用Drush make,如果需要,还可以使用安装配置文件和功能。对于内容,一个简单的解决方案是备份&迁移模块。

    您可以在Drupal 7中找到最近和广泛的部署模块比较:

    https://drupal.org/node/980186

答案 1 :(得分:0)

如果你想这样做一次使用正常的部署方法。传输文件,复制数据库并更改settings.php文件以及您可能编辑的其他文件(robots.txt,.htaccess等),除非您为每个站点配置相同的服务器配置。

如果你想在罕见的时候这样做,例如每年一次使用backup & migrate及其补充模块。

最后,如果您希望在网站的不同环境定期部署(例如,当有安全更新时),请使用Drush并挤压别名。有关详细信息,请参阅Using drush to synchronize and deploy sites