使用phing部署的大概步骤是:编写部署xml文件,执行xml文件。
首先要安装phing部署类库,可以使用pear来安装,类似PHPUnit的安装过程,发现频道pear channel-discover
pear.phing.info,安装库pear install phing/phing,不过因为在部署的过程中会用到svn所以要在安装一个版本控制的东东pear install
channel://pear.php.net/VersionControl_SVN-0.3.3。
Phing使用xml配置文件来决定如何部署项目,我们新建一个部署文件test.xml,这个文件只是简单的将当前目录下的inc中的文件拷贝到当前目录下的build文件夹中:
version="1.0"?>
default="help">
value="./build"/>
This is Phing menu
1.phing -f test.xml -D build
name="test">
haltonfailure="true" printsummary="true">
dir="./tests">
name="*Test.php" />
name="build"depends="get">
dir="inc">
稍作解释,project为项目定义,default为第一个启动的target,在help中我们输出了一些帮助信息,就是提示如何部署项目的命令。在build中实际开始部署项目,首先还是输出信息,然后新建目录build,再将当前目录下的/inc的内容拷贝到build下。build的执行依赖于test,而test就是使用phpunit对所有的代码文件进行测试。这些操作都是计算机自动运行的。
在命令行下输入phing –f test.xml
开始执行配置,首先显示帮助提示信息,按照提示输入phing
–f test.xml –D
build系统就开始按照配置拷贝文件了,当然也可以一开始就执行第二条命令。phing默认编译的配置文件时build.xml如果我们定义了这个文件那么直接输phing
就可以了,最多见上个target名变成phing help
关于如何使用svn服务器,我测试了下,不行,应该是我机器配置问题,下次弄好再说吧。
PS【2010-09-03】:关于如何使用svn服务器,我跑去官网看了下,我的神,原来是参数理解错误,看这里看这里 http://phing.info/docs/guide/stable/chapters/appendixes/AppendixC-OptionalTasks.html#SvnCheckoutTask
其中svn是指你的svn命令行客户端的执行程序svn.exe,我看了半天没在乌龟里找到这个文件,跑去安装了一个SlikSvn客户端,把他的地址传给这个标签就ok了。应该类似这样:
name="get">
svnpath="C:\Program Files\SlikSvn\bin\svn.exe"
repositoryurl="http://oldbox.googlecode.com/svn/trunk/"
todir="code"/>
使用sliksvn中的svn将svn服务器中的文件签出到当前目录下的code文件夹中,后续可能会对这个文件进行测试,发布等等。