Skip to main content
  • Create new account
  • Reset your password
张文涛的个人博客
致力于提供Drupal开发,实践等方面的精品资讯

Main navigation

  • 首页
  • 关于
  • Glossary
  • 分享

Breadcrumb

  • Home
  • Features + Git + Drush,打造你的Drupal开发与维护标准工作流
By admin | 9:37 AM CST, Tue May 06, 2014

还在为如何将本地的开发工作如何部署到生产环境而皱眉头?本文以实战历程教你如何一步步将你的工作成果从开发环境部署到生产环境。

如题所示,需要用到Features, Git, Drush;如果你还不知道他们是神马?自行补脑。
如果你理解并会用features,用过Drush,知道Git是干什么的,请继续阅读。否则自己看着办:)

这里演示如何将自己开发环境做好的一个slideshow,从开发环境部署到生产环境并启用。
假设你的项目代码已经使用git进行版本控制,并在开发环境与生产环境都是通过git clone方式获取代码。
在开发环境中制作一个slideshow,方案如下:

建立一个新的内容类型叫做slideshow,并添加相关的图片字段,连接字段,介绍字段等。同时启用模块views slideshow并做好相关配置然后保存。
将以上做好的配置导出为一个features,features里面应该包含内容类型slideshow及views的相关配置;命名为:home_slideshow,解压features放到目录sites/all/modules/custom/features下面。

在开发环境命令行方式下,执行如下命令:

cd sites/all/modules/custom/features
git add home_slideshow
git commit -m "add features:home_slideshow."
git push origin master

然后到生产环境命令行方式下,执行如下命令:

git pull origin master
drush en home_slideshow -y

到这里,关于slideshow的开发工作已经从本地转移到生产环境并启用。手工进行少量配置即可使之工作。

下面介绍一些进阶用法与命令。
场景:
slideshow的views做了点修改。比如slideshow的排序方式从发布日期降序排列改为更新日期降序排列,如何做?如果没有这里的工作流,相信大多数人会直接在生产环境修改views配置。但是这不是常规的工作流程,下面介绍正确的工作流程。
1:在本地修改好views配置,测试完毕后,执行如下命令:

cd sites/all/modules/custom/features
drush fu home_slideshow
git add ./*
git commit -m "修改slideshow排序方式"
git push origin master

2:到生产环境执行如下命令:

git pull origin master
drush fr home_slideshow -y
drush cc all //这里看起来没必要执行清空缓存的操作,但是如果能保持这一好习惯,可以让你在开发过程中省心不少哦。

到此,你对views相关的更改已经从开发环境部署到生产环境。额外附赠如下礼品:

drush fu == drush features-update
drush fr == drush features-revert

features对drush已经有良好的支持。

需要指出的是,刚开始使用上述方案进行Drupal的开发与部署,可能会感觉浪费时间。但是如果你是在一个团队中工作的话,上述流程几乎是一个标准流程。同时你的工作成果都通过代码方式展现出来,利于项目控制与风险把控。如果这一流程执行的比较理想,在admin/structure/features下面看到所有的features都应该是"default"状态。

Glossary

  • May 2023 (7)
  • March 2023 (1)
  • October 2022 (1)
  • October 2021 (2)
  • August 2021 (4)
  • June 2021 (2)
  • May 2021 (1)
  • April 2021 (2)
  • November 2020 (1)
  • June 2020 (2)
  • December 2019 (2)
  • November 2019 (1)
  • August 2019 (1)
  • February 2018 (1)
  • October 2017 (1)
  • September 2017 (1)
  • July 2017 (1)
  • June 2017 (2)
  • May 2017 (1)
  • March 2017 (3)
  • December 2016 (2)
  • November 2016 (4)
  • October 2016 (3)
  • June 2016 (1)
  • December 2015 (1)
  • November 2015 (6)
  • October 2015 (2)
  • September 2015 (1)
  • August 2015 (1)
  • July 2015 (1)
  • June 2015 (1)
  • May 2015 (1)
  • March 2015 (1)
  • January 2015 (1)
  • December 2014 (3)
  • October 2014 (5)
  • September 2014 (3)
  • August 2014 (1)
  • July 2014 (1)
  • June 2014 (1)
  • May 2014 (1)
  • April 2014 (2)
  • March 2014 (2)
  • February 2014 (2)
  • January 2014 (4)
  • December 2013 (1)
  • March 2013 (2)
  • February 2013 (2)
  • December 2012 (2)
  • November 2012 (4)
  • October 2012 (1)
  • September 2012 (6)
  • August 2012 (15)
  • July 2012 (5)
  • June 2012 (13)
  • May 2012 (9)
  • April 2012 (8)
  • March 2012 (9)
  • February 2012 (3)
  • January 2012 (1)
  • December 2011 (1)
  • November 2011 (6)
  • October 2011 (2)
  • September 2011 (17)
  • August 2011 (4)
  • July 2011 (4)
  • June 2011 (5)
  • May 2011 (4)

Copyright © 2025

苏ICP备14044171号-1