利用Hudson构建Php持续集成


利用Hudson构建Php持续集成

本教程所使用到的工具:

    Hudson:https://hudson.dev.java.net/
         介绍:持续集成工具
         下载:http://hudson-ci.org/latest/hudson.war
         备注:当然需要Java环境,JRE的安装方式就不说了,自己搜一下。
              本文使用版本 Hudson ver. 1.320

    Phing:http://phing.info
        介绍:基于ant的项目构建系统。
        下载:http://phing.info/trac/wiki/Users/Download
        备注:本文使用版本 phing-2.3.3 。

    Phing Plugin:http://wiki.hudson-ci.org/display/HUDSON/Phing+Plugin
        介绍:为Hudson提供Phing支持的插件。
        备注:Hudson插件列表里默认列出,安装方式在下面。

    SVN:http://subversion.tigris.org/
        介绍:版本控制工具
        备注:教程较多不做详细介绍。推荐两个工具,都是傻瓜式安装的。
              小乌龟:http://tortoisesvn.tigris.org/  客户端
              VisualSVN:http://www.visualsvn.com/    服务器端

    NetBeans:http://www.netbeans.org/
        介绍:IDE,对PHPUnit有友好支持。
        备注:构建PHPUnit环境参考下面PHPUnit的介绍。

    Hudson Support:http://plugins.netbeans.org/Plug ... e.jsp?pluginid=2178
        介绍:NetBeans Hudson支持插件。
        备注:可以方便操作,不强制安装。

    PHPUnit:http://www.phpunit.de/
        介绍:PHP单元测试工具
        参考:http://bbs.phpchina.com/viewthread.php?tid=104215
        备注:这篇文章是NetBeans 7.0m1 刚发布时写的,现在的最新版本已经支持PHPUnit了,可以去下载 6.7.1。

操作过程:

    1、创建可测试的工程:在NetBeans中新建项目,例如 HudsonPHP。新建一个Class文件(可直接使用 http://bbs.phpchina.com/viewthread.php?tid=104215 中的 PhpUnitSample )。
      并按 工具 -> 创建PHPUnit测试 指定目录为 {$project}/test,内容可参考上文。
      
    2、提供版本控制支持:新建的版本库HudsonPHP(我是用的是VisualSVN,不会的朋友去搜教程)。将操作 1 中的项目导入这个版本库(在NetBeans项目上右键Subversion)。

    3、安装Hudson:运行Hudson可直接执行 java -jar hudson.war 也可以将其部署到Tomcat等容器内。操作方式网上教程较多,在此不再累述,关键词: war tomcat。
      运行后默认端口是 8080 ,我在本地运行所以打开 http://localhost:8080/ 。

    4、安装Hudson的Phing Plugin。按顺序点击  左侧的 Manage Hudson >> 右侧的 Manage Plugins >> Available 找到 Hudosn Phing plugin >> 按最下面的 install 。

0908191729adc736332754c3b5.png
Update Center [Hudson]_1250665207553.png

09081917291791ff372ac61b49.png
Update Center [Hudson]_1250665165273.png


      安装后需要重启服务器:退到首页 >>  Manage Hudson >> Prepare for Shutdown ;如不自动重启就手动把~在cmd里执行的就是接ctrl+c,再运行。

      回到首页 左侧的 Manage Hudson >> Configure System >> Phing installation
      我的设置:
        name : Phing_2.3.3
        PHING_HOME : E:\Tools\phing-2.3.3
        PHP Command : E:\Tools\wamp\bin\php\php5.2.5\php.exe

        注意:不需要使用pear方式安装phing,PHING_HOME就是你下载的Phing包直接解压后的目录,系统会识别出目录是否正确的。
            PHP Command 就不多说了,就是php.exe的位置。
  

09081917290224a024f54c84ee.png
Hudson_1250667982700.png



    5、新建工作:Hudson左侧点击New Job ,Job name 设置成工程目录就可以了,不做特殊要求,例如 HudsonPHP。下面要选的应该是构筑方式或类型。
       我们选择第二个(Build a free-style software project),点击 OK。
       我们来到了配置页面,下面给出的是主要配置参数范例:
       Source Code Management: 源码管理。
                选择 Subversion ,在 Repository URL 填写版本库url 如 https://MoXie-PC:321/svn/HudsonPHP/trunk。
                Repository browser:(auto) 这是默认的。
       Build Triggers:构建触发配置。
                选择 Poll SCM , Schedule 填: 50 * * * * 。意思是每50分钟自动执行。具体参数配置方式参考右侧问号内的帮助。
       Build:构建方式
             点击: Add build step,选择 Invoke Phing targets。配置如下:
                   Phing Version : 选择我们刚新增的 Phing_2.3.3
                   Targets:填写 test (就是项目测试文件目录)
       点击Sava,基本配置就这些了。

0908191729c380b580a6aace0e.png
HudsonPHP Config [Hudson]_1250673882462.png



    6、Build脚本:在工程目录下新建文件 build.xml。内容如下:

CODE:

    <?xml version="1.0" ?>
    <project name="HudsonPHP" default="test">
        <property name="tests.dir" value="test" />
        <target name="test" description="Run PHPUnit tests">
            <phpunit haltonerror="true" haltonfailure="true" printsummary="true">
                <batchtest>
                    <fileset dir="${tests.dir}">
                        <include name="**/*Test.php" />
                    </fileset>
                </batchtest>
            </phpunit>
        </target>
    </project>
   
7、最终运行:左侧点击Build now,在左下就会看到进程条了。蓝色的气球就代表成功。
       点入刚进行的Build #1,点击左侧 Console Output,可以看到整个执行过程。如下例:

CODE:

        Started by user anonymous
        Checking out a fresh workspace because C:\Users\MoXie\.hudson\jobs\HudsonPHP\workspace\trunk doesn't exist
        Checking out https://localhost:321/svn/HudsonPHP/trunk
        A         PhpUnitSample.php
        A         test
        A         test\PhpUnitSampleTest.php
        A         nbproject
        AU        nbproject\project.properties
        AU        nbproject\project.xml
        A         index.php
        AU        build.xml
        At revision 3
        [trunk] $ cmd.exe /C '"E:\Tools\phing-2.3.3\bin\phing.bat -logger phing.listener.NoBannerLogger && exit %%ERRORLEVEL%%"'
        Buildfile: C:\Users\MoXie\.hudson\jobs\HudsonPHP\workspace\trunk\build.xml
        HudsonPHP > test:
          [phpunit] Test: PhpUnitSampleTest, Run: 1, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00161 s
        BUILD FINISHED
        Total time: 0.9868 seconds
        Finished: SUCCESS
        

090819191277d16d69923e35e6.png
PhpSample #4 Console [Hudson]_1250668684394.png

posted on 2011-09-08 04:38  之乎者也2011 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wrmfw/archive/2011/09/08/2170467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值