PHP自动部署

多人开发项目的时候不用自动部署,光维护就是一个非常大的负担,每次修改项目部署的时候总是小心翼翼,痛苦

为了减负,决定搞phing+xinc来实现自动部署

安装非常简单:(pear都没装的自己GOOGLE啦)

pear channel-discover pear.phing.info

pear install phing/phing

半年前就是alpha状态的svn包,到现在还没发布正式版,晕,估计没戏了.

执行 pear install pear/VersionControl_SVN

报错:(略)
pear install channel://pear.php.net/VersionControl_SVN-0.3.1

OK搞定

在装个FTP支持,需要net_ftp包

pear install Net_FTP
phing基本的都OK啦

现在需要写个build.xml部署文件,给个详细教程,其实跟ant的差不多

 

View Code
 1 <?xml version="1.0"?>
 2 <!--设置项目名称 基本路径 默认编译选项-->
 3 <project name="lap" basedir="." default="help">
 4 <!--变量设置方法-->
 5 <property name="urlRepos" value="svn://192.168.0.124/obj1" />
 6 <property name="todir" value="./a" />
 7 <!--这里的代码顺序执行的-->
 8 <echo msg="obj start..."/>
 9 <!--具体项目选项-->
10 <target name="help">
11     <echo>
12     这样写的好处可以让人根据帮助来编译文件.
13     </echo>
14 </target>
15 <target name="build">
16         ....
17 </target>
18 <!--depends 在prepare运行前运行-->
19 <target name="prepare" depends="build">
20     
21     <!--从SVN获取文件 svnpath 指的是SVN执行文件-->
22     <svncheckout username="lonely" password="ls880115" svnpath="/usr/bin/svn" repositoryurl="${urlRepos}" todir="${todir}"/>
23     <!--更改目录权限-->
24     <chmod mode="0777">
25         <fileset dir="${todir}" />
26     </chmod>
27     <!--创建目录命令-->
28     <mkdir dir="./b" />
29     <!--拷贝文件-->
30     <copy todir="./b">
31         <fileset dir="${todir}">
32             <include name="b/**"/>
33         </fileset>
34     </copy>
35     <!--压缩文件-->
36     <zip destfile="./b/a.zip">
37         <fileset dir="${todir}">
38             <include name="b/**"/>
39         </fileset>
40     </zip>
41     <!--删除文件-->
42     <delete dir="${todir}" />
43     <!--FTP上传文件-->
44     <ftpdeploy host="192.168.0.5" port="21" username="lonely" password="ls880115" dir="a" mode="ascii" clearfirst="true">
45         <fileset dir="./b">
46             <include name="**"/>
47         </fileset>
48     </ftpdeploy>
49     <!--更多详细,请参阅:http://www.phing.info/docs/guide/stable/-->
50 </target>
51 </project>

想要什么自己编写部署文件

以上部分安装完毕每次提交都得手动运行命令,需要一个自动的,需要安装xinc

安装:

pear channel-discover pear.elektrischeslicht.de 
pear channel
-discover components.ez.no 
pear install
VersionControl_SVN-alpha 
pear install
Xinc/xinc-alpha

pear run-scripts xinc/Xinc

启动:

service xinc start

报错等级修改为:E_ALL & ~E_NOTICE

如果是5.3以后的PHP需要修改:

/usr/local/php/lib/php/PEAR/Config.php

line:1026 set_magic_quotes_runtime(0) =>ini_set("magic_quotes_runtime",0);

line:1033 set_magic_quotes_runtime($rt) =>ini_set("magic_quotes_runtime",$rt);

安装完毕

 

 

posted @ 2011-07-20 11:21  liushan  阅读(1525)  评论(0)    收藏  举报