首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >drupal开发/阶段/生产设置

drupal开发/阶段/生产设置
EN

Stack Overflow用户
提问于 2011-02-03 15:36:00
回答 4查看 2.2K关注 0票数 4

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-03 21:51:55

这可能是关于Drupal的迷雾问题之一--这是Drupal相当薄弱的一个领域。

您可能想了解一下Aegir。这是一个基于Drupal的平台,旨在简化部署和更新。

它在幕后使用Drush,所以如果宙斯盾看起来对你的需求来说是过度杀伤力,Drush可能就是你需要的。Drush是Drupal的命令行shell,它允许您使用命令提示符或批处理脚本在Drupal站点上执行操作。

这两个软件是Drupal推荐的管理部署的方式。

请注意,Drush (以及Aegir)有一些只有在Linux平台上运行时才能使用的特性,所以如果您的Drupal系统托管在Windows上,您可能会发现事情有点困难。

票数 1
EN

Stack Overflow用户

发布于 2011-02-04 03:16:15

我们是这样做的:我们有两台服务器,一台是生产环境,另一台是为每个开发人员提供的开发环境和一个“登台”环境。代码存储在Git中,我们始终保持一个主分支和活动分支在运行。

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

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

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

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

当涉及到部署新功能或设置时,我们将开发人员的更改合并到主分支中,部署和测试登台,这通常需要运行update.php,然后从新的或更新的功能“导入”更改。如果所有内容都通过了测试和QA,那么更改就会合并到活动分支中,并部署到生产环境中。

我们学到的最大的教训是:

  • 虽然可以将所有功能都添加到功能中,或者更新和安装,但通常不值得这样做。
  • 在开发过程中传递开发数据库,然后在尘埃落定时导出是最容易的,而不是尝试导出每一个小的更改。
  • 使用diff模块和功能已经救了我们很多次。
票数 5
EN

Stack Overflow用户

发布于 2011-02-03 20:55:03

查看drush和drush make。Drush是一个很好的同步工具,一定要查看备份迁移模块。还可以看看Feature项目,它可以帮助您在代码中捕获数据库模式(有关这一点,请参阅hook_update )。

另外: Drupal将在几周内迁移到git。使用git。

哇哦!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4883499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档