【问题标题】:Drupal: how to upgrade a running production website to a dev version?Drupal:如何将正在运行的生产网站升级到开发版本?
【发布时间】:2010-03-08 08:49:55
【问题描述】:

您能帮我理解一下,我如何进行 Drupal 网站部署和开发?

假设,我开发了 1.0 版的 Berty&Frank 网站。我把所有东西都复制到了他们的生产服务器上,它现在还活着。网站内容已经很丰富,而且还在不断扩大。

我被要求为网站添加其他功能。我现在正在尝试如何在开发版本中实现它们。我正在创建/删除内容类型,用演示数据填充创建的节点以查看它们的外观等。现在我找到了方法,我想升级生产网站到与我的开发版本相同的结构现在。我怎么做?

是手动进行我在开发版中所做的每项更改的唯一方法吗?

【问题讨论】:

    标签: drupal upgrade deployment


    【解决方案1】:

    我将探索 Aegir 项目,以便将来管理您的网站。它允许您克隆一个站点,然后将该站点升级到一个新的“平台”,这可能是 Drupal 的下一个版本或另一个 Drupal 系统(例如 OpenAtrium)。

    更多信息请访问the aegir wiki

    【讨论】:

    • 好主意,但它看起来不可能用于共享主机,因为我不能使用 *.deb 包或 shell 脚本
    • 共享主机?这是云的时代! ;)
    • ;) 是的。但是....我在俄罗斯,你知道 ;) 没有太多云...这里通常是晴天 ;) :)
    【解决方案2】:

    您可以导出/导入视图和内容类型,但很多设置等都存储在数据库中。这提供了两种选择

    • 要么使用备份和迁移之类的工具从开发人员导入您的设置。但是,如果您有测试数据,这将不起作用,因为您会覆盖数据库。
    • 其他选项是重复您在实时站点上所做的操作。
    • 第三种选择可能是重新转储实时站点,在开发环境中执行该数据库中的所有设置,然后用它覆盖实时数据库。您可以松动一些 cmets 等,但应该没什么大不了的。

    【讨论】:

      【解决方案3】:

      我使用 Subversion,当我对我的开发服务器上的代码感到满意时,只在我的生产服务器上进行更新(实际上,我有一个临时服务器是生产机器的副本,所以我在生产;我可以看到任何可能弹出的错误)。

      对于数据库更改,我没有找到比跟踪我的更改(通常是添加/修改 CCK 字段)和对生产数据库执行相同更改更好的方法。我还定期下载我的生产数据库,以便 dev 和 staging 具有几乎相同的内容。这有助于最大程度地减少混乱。

      【讨论】:

      • 您是否手动跟踪更改?或者为此使用任何 Drupal 模块?
      • 是的,我手动跟踪它们。一种方法是将数据库结构转储到生产和开发服务器上,并对它们进行区分。我是唯一迁移数据库更改的开发人员,这对我有帮助(很多!)。还有一个人主要做模板和 CSS 工作,所以我们不会互相妨碍。
      【解决方案4】:

      【讨论】:

      • 我问的不是从旧版本简单升级。但是关于将开发版本部署到生产网站上。
      • 首先,您不应该将开发版本部署到生产网站。您可以做的是,将整个生产站点复制到您的本地机器,应用您的更改/结构,然后将其部署到生产中。您应该关闭您的网站一段时间。如果您不想将其删除,则必须对有风险的站点应用补丁
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多