5

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

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

我找不到开箱即用的模块,你有什么我可能在 drupal 网站上遗漏的指针吗?

谢谢你的帮助,

尼古拉斯。

4

3 回答 3

4

功能模块可能会让你想去。它允许您导出各种站点和模块配置。导出采用自定义 Drupal 模块的形式,然后您可以通过 git 存储和管理该模块,然后将这些功能推广到其他 Drupal 站点。

http://drupal.org/project/features

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

于 2010-02-24T19:16:54.297 回答
4

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

假设我们将“论坛”上下文定义为带有 forums/* 的 url 的任何内容。上下文让我们说:“我想在右侧栏中显示这三个视图,仅当我在“论坛”上下文中时。

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


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


链接:

特征

语境

备份和迁移

于 2010-03-04T05:42:36.600 回答
2

您可能还想研究服务和部署。部署使用服务 xmlrpc 服务器将大多数 drupal 数据从一个站点传输到另一个站点,或者在您的情况下,将您的开发人员安装传输到临时安装。

http://drupal.org/project/Services

http://drupal.org/project/deploy

至于“以一致的方式将其部署在各种服务器上”的方法,请使用 railsless-deploy 研究 Capistrano。设置一些任务非常简单,我用它来部署我所有的 drupal 站点。

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

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

于 2010-03-06T22:20:18.597 回答