如何在git中管理drupal网站

时间:2010-02-24 13:32:07

标签: php git drupal-6 migration drupal-modules

我有点失落,我的一位开发人员同事正在做一个drupal网站,即做特殊页面,自定义徽标,自定义层次结构等。他的工作分散在数据库表中(看起来像CCK创建表),数据库行(文本,图像链接等),静态文件(图片,PDF ......),也许还有一些PHP(自定义模块)。

我的问题是让他的工作在git存储库中,并能够以一致的方式在各种服务器上部署它,就像我对传统的开发人员工作一样(比方说J2EE)。 我的一个约束是避免原始SQL,因为我们可能在各种RDBMS上部署相同的代码。但如果必须,我会放松这个约束。

我找不到一个开箱即用的模块,你有没有在drupal网站上错过的指针吗?

感谢您的帮助,

尼古拉斯。

3 个答案:

答案 0 :(得分:4)

功能模块可能会让您想要去。它允许您导出各种站点和模块配置。导出是自定义Drupal模块的形式,然后您可以通过git存储和管理,然后将功能滚动到其他Drupal站点。

http://drupal.org/project/features

模块上的更多信息(和截屏视频):
http://developmentseed.org/blog/2009/may/29/making-and-using-features-drupal

答案 1 :(得分:4)

使用功能以及上下文非常强大。上下文允许您为站点创建“部分”。最好通过一个例子来说明:

假设我们将“论坛”上下文定义为论坛/ *的网址。上下文让我们说:“我想在右侧栏中显示这三个视图,只有当我在”论坛“上下文时才会显示。

现在,使用Features,我们可以创建由上下文定义的“模块”。因此,我们最终会得到一个名为“youSite_forums”的模块,该模块将包含您在论坛上下文中定义的所有视图,块等。它还将确定正确的依赖关系,以及上下文中使用的内容类型。所有这些都将很好地捆绑在一个模块中。


对于节点等版本控制内容,您既可以使用节点导出,也可以使用“备份和迁移”进行数据库转储。我们偶尔使用这些,但我们从来没有在SVN中版本化每个节点。


链接:

Features

Context

Backup and Migrate

答案 2 :(得分:2)

您可能还想查看服务&部署。部署使用服务xmlrpc服务器将大多数drupal数据从一个站点传输到另一个站点,或者在您的情况下,将您的devs安装传输到分段安装。

http://drupal.org/project/Services

http://drupal.org/project/deploy

至于“以一致的方式在各种服务器上部署它”的方法,请使用无轨道部署查看Capistrano。设置一些任务非常简单,我用它来部署我所有的drupal站点。

http://www.capify.org/index.php/Capistrano

http://github.com/leehambley/railsless-deploy