文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>第 20 章 持续集成

第 20 章 持续集成

时间:2008-04-07  来源:hshq_cn

第 20 章 持续集成
      
持续集成
是一种软件开发实践,团队成员频繁地合并他们的工作,通常每个人至少每天合并,导致每天多次合并。每次合并由一个自动化的构建系统(包括测试)校验,以尽快发觉合并错误。很多团队发现这种方式显著地减少了合并问题,并且允许团队更快地开发内聚的软件。
   
  --Martin Fowler
    本章提供持续集成的概述,总结技术及其在PHPUnit下的应用。
  
CruiseControl
      持续集成要求一个完全自动化和可再生的构建系统,包括测试且每天运行很多次。这允许每个开发者每天合并从而减少合并问题。要达此目的,可通过设置一个
cronjob
每隔一段时间重新校验项目的
源代码仓库
、运行测试并发布结果,仍然可能需要一个更舒适的解决方案。
   
      这就是像
CruiseControl
这样的用于持续构建过程的框架出现的原因。它包括但并不限于用于email通知的插件、
Apache Ant
和多种源代码控制工具。提供了web界面用于察看当前和以前构建(版本)的详细信息。
   
      下面的例子假设CruiseControl已经安装于/usr/local/cruisecontrol。
   
  • cd /usr/local/cruisecontrol
    • mkdir -p projects/BankAccount/build/logs
    • cd projects/BankAccount
    • svn co svn://svn.phpunit.de/phpunit/phpunit/branches/release/3.2/PHPUnit/Samples/BankAccount source
    • 编辑文件build.xml。范例 20.1: projects/BankAccount/build.xml

        
         
        


        
         
        


    • cd /usr/local/cruisecontrol
    • 编辑文件config.xml。范例 20.2: config.xml
        
         
         
         
            
         
         
            
         
         
            
         
         
            
         
         
            
         
         
            
            
              
            
         
        
    • ./cruisecontrol.sh
    • 在你的浏览器中打开http://localhost:8080/。Apache Maven
            
      Apache Maven
      是一个软件项目管理和综合的工具。基于概念项目对象模型(POM),Apache Maven能够从信息的中枢位置管理项目的构建、报告和文档。
         
            PHPUnit的XML日志设备(见
      [url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#logging.xml]“XML格式”一节[/url]
      )产生的单一XML日志文件在能被Apache Maven的
      surefire插件
      处理以前,需要被分割成单独的XML日志文件,分别对应每个测试套件。该插件用于在构建周期的测试阶段执行应用的单元测试。
      [url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#continuous-integration.maven.examples.phpunit_to_surefire.xsl]范例 20.4[/url]
      显示一个实现分割的XSLT样式表。
      [url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#continuous-integration.maven.examples.pom.xml]范例 20.3[/url]
      显示一个pom.xml配置文件的例子。
         
      范例 20.3: pom.xml
        4.0.0
        
        
          2.0.7
            
        
        
        
         
            
            
              
                org.apache.ant
                ant-trax
                1.7.0
              
              
                net.sf.saxon
                saxon
                8.7
              
            
            org.apache.maven.plugins
            maven-antrun-plugin
            1.2-SNAPSHOT
            
              
                codecoverage
                pre-site
               
                  run
               
               
                  
                    
                    
                    
                    
                    
                    
                    
                    
                     
                    
                    
                     
                     
                    
                  
               
              
            
            
         
        
        
         
            
              org.apache.maven.plugins
              maven-surefire-report-plugin
              2.4-SNAPSHOT
              
               
                  
                    report-only
                  
               
              
            
         
        
      范例 20.4: phpunit_to_surefire.xsl
        
        .
        
         
        
        
         
            
            
              
            
         
         
        
                     
                     
                     

  • 相关阅读 更多 +
    排行榜 更多 +
    粉末星战 v1.0.0 安卓版

    粉末星战 v1.0.0 安卓版

    休闲益智 下载
    粉末星战 v1.0.0 安卓版

    粉末星战 v1.0.0 安卓版

    休闲益智 下载
    火线反恐部队 v1.2 安卓版

    火线反恐部队 v1.2 安卓版

    飞行射击 下载