• 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);

    安装完毕

     

  • 相关阅读:
    进入新的一线开发周期
    某框架的反人类特性
    8月最后一天随想
    jython 2.7 b3发布
    [转] 基于 Apache Mahout 构建社会化推荐引擎
    FreeBSD10上编译尝试DeepIn UI
    PDT已有很大改进
    两张图
    FreeBSD暂时用9.X系列为宜
    backbone教程
  • 原文地址:https://www.cnblogs.com/liushannet/p/2111434.html
Copyright © 2020-2023  润新知