`

配置CruiseControl.rb支持RSpec

阅读更多
   CruiseControl对于Rails程序有很大的帮助,但是一直是在传统的test cases测试下使用.现在想使用基于RSpec的项目中,使用CruiseControl.那么,可以按照如下的步骤安装:
    rake db:test:purge
    rake db:migrate
    rake test

但是,默认情况下CruiseControl在执行build的时候仍然执行Rails自带的test cases所以我们可以做如下的改变,使得CruiseControl能够调用RSpec的测试.
那么,创建如下的rake任务:

RAILS_ROOT/lib/tasks/custom_cc.rake


   desc 'Custom curise task for RSpec'  
   task :cruise do  
         ENV['RAILS_ENV'] = 'test'  
     
         if File.exists?(Dir.pwd + "/config/database.yml")  
           if Dir[Dir.pwd + "/db/migrate/*.rb"].empty?  
             raise "No migration scripts found in db/migrate/ but database.yml exists, " +  
                   "CruiseControl won't be able to build the latest test database. Build aborted."  
           end  
     
              #perform standard Rails database cleanup/preparation tasks if they are defined in project  
              #this is necessary because there is no up-to-date development database on a continuous integration box  
           if Rake.application.lookup('db:test:purge') 
             CruiseControl::invoke_rake_task 'db:test:purge' 
           end 
    
           if Rake.application.lookup('db:migrate') 
             CruiseControl::reconnect 
             CruiseControl::invoke_rake_task 'db:migrate' 
           end 
         end 
    
         CruiseControl::invoke_rake_task 'spec:all'  
   end 


这样,CruiseControl.rb就可以在build的时候调用RSpec了.
分享到:
评论

相关推荐

    持续集成之CruiseControl.rb

    1. **Source Control**:CruiseControl.rb支持多种版本控制系统,如Git、Subversion(SVN)、Mercurial等,用于获取最新的代码变更。 2. **Builder**:构建器负责执行编译、打包等任务。它可以是Rake、Ant或其他...

    cruisecontrol.rb:Ruby的CruiseControl。 把事情简单化

    CruiseControl.rb:简单的持续集成 ###介绍 是一个服务器。 它使团队中的每个人都了解项目的运行状况和进度。 CC.rb易于安装,易于使用且易于破解。 它是用Ruby编写的,并由软件开发咨询公司的开发人员在业余...

    全套汽车巡航系统模糊控制设计Matlab文件-CruiseControl.zip

    全套汽车巡航系统模糊控制设计Matlab文件-CruiseControl.zip 全套m.file文件,包括模型和 CruiseControl.zip 模糊控制器设计。

    cruisecontrol配置文件.rar

    本压缩包“cruisecontrol配置文件.rar”包含了一些关键文件,它们是CruiseControl配置和运行的核心部分。 `main.jsp` 是CruiseControl Web界面的一个页面,用户可以通过这个页面查看构建状态、历史记录以及错误报告...

    cruisecontrol配置定时运行

    总结,配置CruiseControl定时运行涉及以下几个关键步骤:安装CruiseControl、编写`cruisecontrol.xml`配置文件、设定构建触发器、定义构建步骤、配置监控与通知,最后启动或重启CruiseControl服务。通过这种方式,你...

    cruisecontrol_ant_svn持续集成

    cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...

    cruisecontrol.rar_仿真模型_汽车_汽车PID_汽车控制_汽车模型

    "cruisecontrol.rar"是一个关于汽车控制系统的仿真模型,其中包含了汽车模型以及PID控制模型的整合。本文将详细解析这一主题,帮助读者深入理解PID控制在汽车控制中的原理与应用。 首先,汽车模型是整个控制系统的...

    持续集成工具CruiseControl.part1

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part2

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part4

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part3

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    [CruiseControl]binary安装和启动

    6. **检查配置文件**:通常情况下,`config.xml` 和 `dashboard-config.xml` 文件包含了 CruiseControl 的主要配置信息。这些文件位于安装目录下的 `etc` 目录内。 #### 四、关键配置说明 - **Ant 支持**:Cruise...

    cruise_control.zip.zip

    【标题】"cruise_control.zip.zip" 暗示我们正在处理一个被压缩的文件,该文件可能包含有关“巡航控制”系统的数据或软件。在IT领域,巡航控制通常指的是自动化构建和部署的过程,用于持续集成和持续交付(CI/CD)...

    CruiseControl简介及使用举例

    本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。 首先,CruiseControl的安装通常涉及下载最新版本的软件包,如V2.6.2,这可以从其官方网站sourceforge.net获取。安装完成...

    体验CruiseControl

    本文将深入探讨CruiseControl的核心概念、配置方法以及如何在实际项目中运用。 CruiseControl的主要功能包括: 1. **自动构建**:CruiseControl可以定期检查源代码库中的变更,一旦检测到更新,就会触发构建过程。...

    CruiseControl学习教程.pdf

    CruiseControl通过XML配置文件定义其工作流程,并提供了丰富的插件支持,可以与其他版本控制系统、构建工具、测试框架等无缝集成。 1.2 必需工具 在学习和使用CruiseControl之前,你需要准备以下基础工具: - 版本...

    cruisecontrol+maven2配置

    标题与描述概述的知识点主要涉及了使用CruiseControl与Maven2进行持续集成的配置流程。这是一项在软件开发过程中非常关键的技术实践,它能够自动检测代码库中的更新,并自动执行构建、测试以及部署等任务,从而确保...

    CruiseControl持续集成

    而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的。而在这里,我只...

    CruiseControl使用指南.rar

    6. **向CruiseControl中加入新项目**:"CruiseControl step by step(3)"部分可能详细介绍了如何添加新的项目到CruiseControl服务器,包括项目配置文件的修改和项目构建规则的设定。 7. **了解CruiseControl的配置...

    CruiseControl-2.8.4.exe

    CruiseControl-2.8.4.exe

Global site tag (gtag.js) - Google Analytics