svn - Drupal 开发/阶段/生产设置

标签 svn drupal production-environment

嘿,我开始在 drupal6 中开发新站点,我想知道为开发/阶段/生产环境设置它的最佳方法是什么... svn?在线付费服务(我看到一些需要付费才能做事的网站)用于同步的 bash 脚本? 请帮忙

最佳答案

我们的做法如下: 我们有 2 台服务器,其中一台是生产服务器,另一台为每个开发人员提供开发环境和一个“临时”环境。代码存储在 Git 中,我们始终保持主分支和实时分支运行。

简而言之:使用 drush 导出“实时”数据库并分发给开发人员。使用这两种功能“保存”配置和设置,并且 hook_update()hook_install() 。我们使用Feeds

部署之后我们有一个非常简单的 shell 脚本,它利用 drush 将实时数据库从实时服务器复制到开发服务器上的临时数据库,开发人员使用相同的简单 shell 脚本将临时数据库拉到他们自己的环境中。

数据库中发生的配置和开发通过 Features 导出和/或使用安装和更新 Hook 。使用这三种方法,我们能够轻松部署大约 99% 的所有设置、内容类型和其他通常仅存在于数据库中的结构。最后 1% 往往是通过部署设置步骤更容易处理的事情,而不是在 hook_install 和 hook_update 中编写查询。 100% 部署是可能的,但有时并不值得付出努力。

最后,有时需要将内容从舞台部署到现场。这就是 Feeds 模块的用武之地。使用 feeds 和一个简单的 csv 导入文件,我们已经成功创建并导出了大型分类集,甚至是复杂的节点和节点集。当您需要一组标准的“测试”数据来填充您的开发数据库时,使用提要也很有用。

当需要部署新功能或设置时,我们将开发人员更改合并到主分支中,在登台上部署和测试,这通常需要运行 update.php,然后“导入”新的或更新的更改特征。如果一切都通过了测试和质量检查,则更改将合并到实时分支并部署到生产环境中。

我们学到的最大教训是:

  • 虽然可以将所有内容都纳入功能或更新和安装,但通常不值得。
  • 最简单的方法是在开发过程中传递开发数据库,​​然后在尘埃落定后导出,而不是尝试导出每一个微小的更改。
  • 使用 diff 模块和功能多次拯救了我们的麻烦。

关于svn - Drupal 开发/阶段/生产设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883499/

相关文章:

Eclipse:从版本控制导入的 Web 项目未从服务器运行时中找到类

eclipse - 如何使用 Subversion 和 ColdFusion Builder (eclipse) 设置 ANT 以检查要处理的本地构建?

drupal - 如何输出drupal图像场?

ruby-on-rails - Rails Log Formatter 适用于开发,但不适用于生产

javascript - Rails-找出JavaScript配置

macos - 如何将 subversion 1.7 安装到 mac os?

javascript - 收到错误请求的资源上不存在 'Access-Control-Allow-Origin' header

css - 菜单下拉在移动设备上无法正确显示

sql-server - 将主键添加到生产数据库

svn - 是否可以恢复整个 SVN 存储库?