Drush Make入门
Drush是允许与Drupal站点进行交互的命令行工具。该工具本身非常有用,并提供了下载模块,备份数据库以及Drupal可以完成的大多数其他事情的机制。DrushMake是Drush的插件,现已成为Drush核心的一部分,并允许通过Make文件创建Drupal网站。DrushMake的作用是使用make文件下载Drupal网站所需的模块,主题和库,以准备安装该网站。这意味着您可以将此生成文件提供给其他开发人员,然后他们可以构建自己的Drupal站点。
安装DrushMake
从Drush版本5开始,DrushMake现在已成为Drush核心代码的一部分,因此安装和运行变得非常容易。在Drush版本5之前,您必须单独安装DrushMake,但是安装过程并不是真的那么困难。只需在主目录中创建一个名为.drush的文件夹,然后将drushmake文件放置在其中。完成后,您应该以〜/.drush/drush_make/INSTALL.txt之类的文件结尾。
如果您通过梨安装了Drush,那么您将内置DrushMake。
制作文件的剖析
DrushMake文件的格式非常简单,可分为许多不同的部分。您使用多少部分取决于您在Drupal构建中需要使用的部分。生成文件所需的最低要求是核心项目版本,但您可以在此之上添加模块,主题和库信息。
核心版本
核心参数定义此make文件将创建的Drupal的主要版本。要为Drupal6构建创建项目,请输入6.x,对于Drupal7,请输入7.x。生成文件必须始终包含此信息。
core=7.x
API版本
这是DrushMake的API版本,还必须包含在每个文件中。当前版本为“2”。
api=2
专案
这是make文件的主要部分,定义了运行make文件时将下载的不同模块和主题。如果要使用您的构建文件来下载Drupal核心文件,那么您必须提供说明以执行此操作,因此这是从项目设置开始的好地方。要在您的构建中包含最新(稳定)的Drupal版本,请执行以下操作:
projects[]=drupal
您可以将其更改为任何项目名称,以将该项目包括在构建中。例如,要包括“视图”模块的最新版本,您可以执行以下操作:
projects[]=views
将项目放入项目列表后,便可以为其设置某些选项。例如,要为项目设置特定版本,可以将version属性添加到列表中,就像在PHP中一样。以下设置了将在此安装中使用的Drupal的特定版本。
projects[drupal][version]=7.15
如果要获取项目的最新版本,也可以在此处设置主要版本。
projects[drupal][version]=7
设置版本的简写是简单地省略版本属性,如果未提供其他选项,则假定这是最新版本。
projects[drupal]=7
修补程序
有时有必要将修补程序应用于代码,并且最好自动执行此操作,而不是在重建站点时依靠手动应用修补程序。DrushMake可以使用修补程序参考和修补程序文件的URL将修补程序文件自动应用于模块。
projects[amodule][patch][]="http://drupal.org/files/issues/amoule.patch"
Subdir
此伪指令将更改模块文件下载到的目录的默认位置。默认情况下,它将设置为“站点/所有/模块”。下面将把CTools模块将放置的目录设置为“sites/all/modules/contrib/ctools”。
projects[ctools][subdir]="contrib"
覆盖
DrushMake的默认行为是不覆盖已经存在的文件,实际上,如果目录已经存在,它将标记错误。可以通过将overwrite属性设置为TRUE来更改此设置。
projects[amodule][overwrite]=TRUE
库
第三方代码库可以构成Drupal网站的组成部分,通常放置在库文件夹中,与任何模块和主题源代码分开。这可能是所见即所得的编辑器,JavaScript插件甚至PHP库之类的东西。库数组告诉DrushMake下载库文件并将其解压缩到“sites/all/libraries”文件夹中。以下将下载CKEditor,将其解压缩并将其放入正确的文件夹中。
libraries[ckeditor][download][type] = "file" libraries[ckeditor][download][url] = "http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.3/ckeditor_3.6.3.zip"
注释
要将注释添加到DrushMake文件中,只需在行的开头添加分号(;)。如果要向文件中添加标头以便知道其功能,或者希望将文件分为核心,模块,主题和库元素的部分,则此功能很有用。
这里还有很多其他选项,我还没有涉及全部,几乎没有必要遍历它们。我主要研究了最常用或最有用的命令,但是您可以更改上述命令的工作方式,以及进行其他操作,例如从make文件中包含make文件。有关完整列表,您可以查看DrushMake自述文件。
创建一个制作文件
从头开始创建大的make文件有点繁琐(对于新手来说很恐怖),但是有一个捷径可以让您从现有的Drupal站点生成make文件。设置Drupal站点后,可以使用make-generatedrush命令为其生成一个make文件。下面的代码将在Drupal构建的根目录中生成一个名为mysite.make的make文件。
drushmake-generatemysite.make
在全新安装的Drupal上,以上命令将创建以下make文件。
; This file was auto-generated by drush make core = 7.x api = 2 projects[drupal][version] = "7.x"
生成此文件后,您可以根据需要重新生成它,只是警告您,如果编辑该文件,则稍后再重新对其进行重新生成时,它将被覆盖。启用模块并重新生成Make文件时,您会看到那些模块已添加到Make文件中。为了演示这一点,我下载并启用了Views和CTools模块,然后重新生成了make文件。
; This file was auto-generated by drush make core = 7.x api = 2 projects[drupal][version] = "7.x" ; Modules projects[ctools][subdir] = "contrib" projects[ctools][version] = "1.0" projects[views][subdir] = "contrib" projects[views][version] = "3.3"
使用制作文件
这是DrushMake的主要功能所在,并且可能是整个过程中最容易的部分。要与make一起使用make文件,您只需要运行以下命令。
drushmakemysite.make
然后,DrushMake将使用make文件作为蓝图来创建Drupal站点。每次下载项目时,都会在屏幕上打印出一条通知,这样您就可以轻松地看到make文件正在执行应做的一切。如果出现任何问题(例如文件丢失或权限问题),也会报告这些问题。
尖端
当然,知道如何使用DrushMake只是过程的一半。与任何这种性质的工具一样,只有以正确的方式使用它,它才具有强大的功能。在本文的开头,我已经暗示了一些如何充分利用DrushMake的策略,但是我想我会专门介绍一个部分,详细介绍我在日常工作中使用Drush时学到的一些知识。
源代码控制
首先,使用DrushMake的主要好处是大大简化了源代码控制。在开始使用DrushMake之前,我会将所有Drupal源代码文件,模块文件和主题文件添加到源代码管理中,这将导致我不得不管理的代码产生大量开销。
为了简化此过程,您只需要添加自定义文件和一个make文件,该文件将围绕这些文件构建站点的其余部分到您的源代码管理中。举个例子,假设我正在构建一个包含名为mymodule的模块的站点。我的网站源代码将仅包含该模块和一个生成文件,该文件围绕该模块构建了网站的其余部分。源代码的目录结构如下所示。
sites --all ----modules ------custom --------mymodule ----------mymodule.module ----------mymodule.info mysite.make
我已将make文件放在站点根目录中,但不一定需要转到此处。您可以将其作为配置文件的一部分甚至放在Web根目录之外。如果确实将其放在网络根目录之外,则可以像这样引用它。
drushmake../mysite.make
甚至有可能超越此范围而仅使make文件从另一个源代码控制位置中提取自定义模块文件。当前,您可以使用Bazaar,CVS,SVN或Git源代码控制系统将代码包含在make文件中。
“功能
DrushMake”将仅下载项目的源文件,并且不包括任何形式的配置或设置。将其与功能结合使用,可以完全从头开始构建站点。这意味着您可以通过命令行中的三个命令来获得站点的完全正常工作的副本。
$ drush make mysite.make $ drush si --account-name=admin --account-pass=admin --db-url=mysql://user:[email protected]/dbname $ drush en mymodule --yes
这是我的制作文件。
为开发人员提供制作文件意味着他们可以在启用模块之前引入所需的库和模块。现在,许多具有复杂设置的模块都带有make文件,以便开发人员可以运行它们并提取所需的所有内容,而不必一次访问多个资源并手动下载它们。
制作,更新,测试,部署
网站建成并投入使用后,您可能需要在某个时候对其进行更新。您可以更新模块和核心代码,并确保一切正常,然后再将configback写入make文件。有了此更新的文件,您可以将您的网站置于维护模式,并在运行数据库更新之前应用代码更改。
资源
掌握Drush和DrushMake的一些资源可为您提供帮助。
突击资源网站
最新的Drush让我读
Drushmake.me是一个Web应用程序,用于生成Make文件,该文件将在安装站点之前将您需要的所有模块都包含在内。