zoukankan      html  css  js  c++  java
  • 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);

    安装完毕

     

  • 相关阅读:
    基于ROS-Unity的移动机器人虚实交互场景构建方法的研究
    ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-
    ROS#资讯汇总(ROS、C#、.NET和Unity3D)
    论文阅读:A review and comparison of ontology-based approaches to robot autonomy ALBERTO
    商业RDF三元组数据库AllegroGraph
    Qt编写的项目作品30-录音播放控件(雨田哥作品)
    Qt编写的项目作品29-RTSP播放器+视频监控(海康SDK版本)
    Qt编写的项目作品28-RTSP播放器+视频监控(mpv版本)
    Qt音视频开发23-通用视频控件
    Qt音视频开发22-通用GPU显示
  • 原文地址:https://www.cnblogs.com/liushannet/p/2111434.html
Copyright © 2011-2022 走看看