• Features + Git + Drush,打造你的Drupal开发与维护标准工作流


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

    如题所示,需要用到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”状态。

    http://www.dplor.com/archives/546?utm_source=tuicool&utm_medium=referral

    DrupalCon New Orleans 2016: Configuration Management, Composer, Git and Drush in Drupal 8

    https://www.youtube.com/watch?v=1bxQJtiHy4k

  • 相关阅读:
    mysql 历史版本下载
    mysql 5.7 版本 You must reset your password using ALTER USER statement before executing this statement报错处理
    5.7 zip 版本的安装 以及遇到的坑
    mysql 5.6zip版本的卸载与5.7 zip 版本的安装
    mysql数据库的备份与还原
    本地Navicat连接docker里的mysql
    docker修改数据库密码
    docker 在push镜像到本地registry出现的500 Internal Server Error
    linux 没有界面内容显示不全解决办法
    json与map互相转换
  • 原文地址:https://www.cnblogs.com/wicub/p/6742446.html
Copyright © 2020-2023  润新知