SlideShare uma empresa Scribd logo
1 de 24
于志成@Zinch vipzhicheng@gmail.com http://www.drupal001.com Drush 原理与应用
Drush概述 Drush原理 Drush安装 Drush应用 Drush未来 演示 大纲
什么是Drush? Drush能做什么? 谁需要用Drush? Drush相关资源 Drush概述
什么是Drush?
Drush = Drupal + shell
Drupal <-> Drush <-> Linux
$drush cc Enter a number to choose which cache to clear.  [0]  :  Cancel  [1]  :  all  [2]  :  theme registry  [3]  :  menu  [4]  :  css+js  [5]  :  block  [6]  :  module list  [7]  :  theme list  [8]  :  registry
什么是Drush 开始于 2006 by Arto 第一个版本基于drupal4.7 思路来自于当年的DrupalCon 目前 稳定版:drush 4.5,最低版本php5.2 开发版: 5.x-dev, 同上,但已经有最低要求5.3的命令 支持 5,6,7 4, 不支持Windows
网站管理(安装,升级) 项目管理(模块,主题,解决方案配置包,翻译) 核心管理(缓存,计划任务,用户,变量表) 数据库管理(查询,更新,备份,迁移) 编写脚本程序 可扩展性,使得Drush可以做的更多 Drush改变了网站的开发方式和维护方式 对Drush了解越多,用Drush能做的事情就越多。 Drush 能做什么
程序员 网站管理员 项目经理 架构师 任何人 谁需要用Drush
http://drush.ws Drush官方网站 http://drupal.org/project/drush Drush在Drupal的项目地址 http://drupal.org/documentation/modules/drush Drush在Drupal的文档 http://drupal.org/taxonomy/term/4654 与Drush有关的模块 Google.com 与Drush有关的文章非常非常的多 Drush 相关资源
Drush命令执行路径 drush_main() drush_dispatch() drush_command(); drush_invoke() _drush_invoke_args 自定义命令写法 命令文件,可以放在很多地方 MODULE.drush.inc hook MODULE_drush_command MODULE_drush_help MODULE_drush_init MODULE_drush_load Drush 原理
执行流程 hook_drush_init() drush_COMMAND_init() drush_hook_COMMAND_validate() drush_hook_pre_COMMAND() drush_hook_COMMAND() drush_hook_post_COMMAND() drush_hook_post_COMMAND_rollback() drush_hook_COMMAND_rollback() drush_hook_pre_COMMAND_rollback() drush_hook_COMMAND_validate_rollback() hook_drush_exit() Drush原理
BOOTSTRAP流程 define('DRUSH_BOOTSTRAP_DRUSH', 0); define('DRUSH_BOOTSTRAP_DRUPAL_ROOT',  1); define('DRUSH_BOOTSTRAP_DRUPAL_SITE', 2); define('DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION', 3); define('DRUSH_BOOTSTRAP_DRUPAL_DATABASE', 4); define('DRUSH_BOOTSTRAP_DRUPAL_FULL', 5); define('DRUSH_BOOTSTRAP_DRUPAL_LOGIN', 6); Drush原理
配置文件 ~/.drush/drushrc.php 别名机制 ~/.drush/aliases.drushrc.php $aliases['dev'] = array(      'root' => '/path/to/drupal',      'uri' => 'dev.mydrupalsite.com',  ); $ drush @dev cc 作为选项 作为参数 policy机制 Drush原理
执行命令 $ drush [OPTIONS] command [ARGUMENTS] 写PHP脚本 #! /usr/bin/envdrush #! /path/to drush @d6.dev –user=1 php-script Drush 应用
构建开发和测试环境 dev<->staging<->www $ svn up / git pull $ drush sql-sync --structure-tables-key=custom --no-cache @live @dev  --sanitize $ drush rsync @staging:%files/ @live:%files $ drush updatedb $ drush features-rever t 构建网站开发解决方案 drush make 构建可重用功能特性 drush + features Drush 应用
集成第三方扩展命令 backup_migrate drush_make node_export devel features dbtng_migrator drush_extras module_builder drush_views Drush应用
api = 2 core = 6.x projects[drupal][version] = "6.22" ; Modules projects[views][subdir] = "contrib" projects[views][version] = "2.11" projects[cck][subdir] = "contrib" projects[cck][version] = "2.8 Drush makefile 示例
; CKEditor libraries[ckeditor][download][type]= "get" libraries[ckeditor][download][url] = "http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.4/ckeditor_3.4.zip" libraries[ckeditor][directory_name] = "ckeditor" libraries[ckeditor][destination] = "libraries" Drush makefile 示例
drush5 runserver site-ssh Issue queue commands $ drush iq-info 1070558 $ drush iq-apply-patch 1070558 Node commands $ drush entity-show 1  $ drush entity-show 1 --json $ drush entity-edit 1 $ drush entity-show 1 --json | drush entity-create Parallelization Drush未来
演示!
问题?
谢谢大家!

Mais conteúdo relacionado

Semelhante a Drush 原理与应用

Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊liangxiao0315
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討Billy Yang
 
Hadoop与数据分析
Hadoop与数据分析Hadoop与数据分析
Hadoop与数据分析George Ang
 
Drupal 版型設計 - 瞭解版型程式
Drupal 版型設計 - 瞭解版型程式Drupal 版型設計 - 瞭解版型程式
Drupal 版型設計 - 瞭解版型程式Chris Wu
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft UsersKuo-Chun Su
 
和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂imShining @DevCamp
 
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2Yang FaFa
 
2011 q2 drbl-clonezilla.advanced_v9
2011 q2 drbl-clonezilla.advanced_v92011 q2 drbl-clonezilla.advanced_v9
2011 q2 drbl-clonezilla.advanced_v9hs1250
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunnerRack Lin
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境Phate334
 
Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案cao jincheng
 
從開放源始碼到內容管理系統(CMS)-Drupal簡介
從開放源始碼到內容管理系統(CMS)-Drupal簡介從開放源始碼到內容管理系統(CMS)-Drupal簡介
從開放源始碼到內容管理系統(CMS)-Drupal簡介Souyi Yang
 
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 HadooperFred Chiang
 
Think php官方视频之入门篇【幻灯片】
Think php官方视频之入门篇【幻灯片】Think php官方视频之入门篇【幻灯片】
Think php官方视频之入门篇【幻灯片】luofei614
 
Drupal - 課程網站與班級社群
Drupal  - 課程網站與班級社群Drupal  - 課程網站與班級社群
Drupal - 課程網站與班級社群Charles Chuang
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Wei-Yu Chen
 

Semelhante a Drush 原理与应用 (20)

Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討
 
Hadoop与数据分析
Hadoop与数据分析Hadoop与数据分析
Hadoop与数据分析
 
Drupal 版型設計 - 瞭解版型程式
Drupal 版型設計 - 瞭解版型程式Drupal 版型設計 - 瞭解版型程式
Drupal 版型設計 - 瞭解版型程式
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft Users
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 
Drupal - CMS 3.0
Drupal - CMS 3.0Drupal - CMS 3.0
Drupal - CMS 3.0
 
和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2
[Talk] 2013 06-02-hadoop整合應用-crawlzilla@hadoop q2
 
2011 q2 drbl-clonezilla.advanced_v9
2011 q2 drbl-clonezilla.advanced_v92011 q2 drbl-clonezilla.advanced_v9
2011 q2 drbl-clonezilla.advanced_v9
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunner
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境
 
Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案Heartbeat+my sql+drbd构建高可用mysql方案
Heartbeat+my sql+drbd构建高可用mysql方案
 
從開放源始碼到內容管理系統(CMS)-Drupal簡介
從開放源始碼到內容管理系統(CMS)-Drupal簡介從開放源始碼到內容管理系統(CMS)-Drupal簡介
從開放源始碼到內容管理系統(CMS)-Drupal簡介
 
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
 
Think php官方视频之入门篇【幻灯片】
Think php官方视频之入门篇【幻灯片】Think php官方视频之入门篇【幻灯片】
Think php官方视频之入门篇【幻灯片】
 
Drupal - 課程網站與班級社群
Drupal  - 課程網站與班級社群Drupal  - 課程網站與班級社群
Drupal - 課程網站與班級社群
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
 

Drush 原理与应用