🦄 2024 独立开发者训练营,一起创业!(早鸟优惠在6天后结束)查看介绍 / 立即报名 →

简单说下 Drupal 开发的大概流程

问题

我们之前一直用比较原始的方法,就是在本地搭建好环境以后,开始开发 Drupal 网站,基本完成以后,就把网站打个包,传到服务器上,再恢复一下数据库。这样做的问题是,如果网站有了新的修改,如果你直接在本地改,完成以后,还需要重做一些迁移的动作,打包,上传,恢复 ... 如果你直接在服务器上改,又很麻烦,并且有太多不确定的东西,很可能会破坏掉网站,如果你没有备份就很复杂,你要自己判断到底是哪里出了问题。

方法

我找到了一个更好的方法,最近会做成视频。听起来这个方法有些复杂,要做的步骤可能会比之前多一些,不过我认为是更好的方法,而且熟悉之后,我们就不会觉得复杂了,我猜这也是大部分项目开发的流程。

版本控制

同样我们需要在本地开发,好处是速度快,并且,如果你的项目不是一个人,其它的团队成员同样可以在本地有一个项目的开发版本。然后你们都使用 Git 为项目做版本控制,也就是对项目的每次修改都会被保存成一个版本。为项目提供一个远程仓库,团队成员都可以把在本地对项目的修改推送到这个远程仓库上。如果这个网站只有您自己做,也需要使用 Git ,长远看,会带来很多好处。

你在本地用 git push 把修改推送到项目的远程仓库,在其它环境上,比如生产环境,用 git pull ,把新的修改下载下来。

Features

在本地,用 Features 模块把对 Drupal 网站所做的配置导出成 Feature 模块,这样你就可以在任何地方使用这些 Feature 模块,启用它们以后,会把你的配置导入到数据库里。

Drupal 的大部分东西都保存在数据库里,包含一些配置信息,比如你创建的内容类型,字段,区块等等,这些都在数据库里,这就带来一个问题,您怎么把这些东西放到你的项目的版本控制里面? 因为如果不这样做,你在本地对项目的配置与修改,就很难部署到远程服务器上,你可能需要导出与导入数据库才行。

Drupal 8 解决了这个问题,它有一套配置系统,也就是我们可以把配置信息做成文件,用代码来保存。在 Drupal 7 上,我们要使用 Features 模块,把你所做的配置,比如创建的内容类型,字段,区块,视图这些东西,导出为 Feature 类型的模块。这就相当于是你把在数据库里的配置信息,用文件的形式保存下来。这些 Feature 模块你可以在其它的地方去恢复,这样 Drupal 又会把它们表示的东西导入到数据库里。

Drush

使用 Drupal ,就必需使用 Drush,它是一个可以使用命令行控制 Drupal 的工具。我们可以为在不同环境的 Drupal 起个名字。这样你就可以直接在本地去控制在不同地方的 Drupal 了。比如:

drush @dev status

上面的 @dev 是我配置的一个名字,它表示在开发环境上的 Drupal,我在本地执行上面这行命令,给我返回来的是在开发环境上的 Drupal 的一些信息。

drush sql-sync @prod @local

上面这行命令会同步一下数据库,会把 @prod 上的数据库同步到 @local 上。意思就是把在生产环境上的数据库同步到本地。

总结

在这个工作流程里,我们需要用到 Git 做版本控制,用 Features 模块把 Drupal 保存在数据库里的配置导出成模块,用 Drush 作为基本的操纵不同环境上的 Drupal 的工具。

Drupal

评论

学习了~

期待这个视频教程,支持!

好期待呀

期待drupal8的视频教程……

出来了吗 大哥

这个视频出来了没有吖~

还没有呢。以后会出 :)

皓哥,赶紧把drupal开发流程放出来吧,真的太痛苦了

哈哈,好来。

半夜期待:)

希望多出些关于Drupal的视频 :)

嗯,好来。

啥时候可以出这个的视频嘞 ~~~~

要出,要出,嘿嘿。

皓哥,这个视频的链接是哪个?

里面的 feature 模块没有制作视频,其它的可以参考 Drupal 课程包:https://ninghao.net/package/drupal

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点