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了.
分享到:
- 2009-03-29 05:46
- 浏览 1164
- 评论(0)
- 论坛回复 / 浏览 (0 / 1858)
- 查看更多
相关推荐
1. **Source Control**:CruiseControl.rb支持多种版本控制系统,如Git、Subversion(SVN)、Mercurial等,用于获取最新的代码变更。 2. **Builder**:构建器负责执行编译、打包等任务。它可以是Rake、Ant或其他...
CruiseControl.rb:简单的持续集成 ###介绍 是一个服务器。 它使团队中的每个人都了解项目的运行状况和进度。 CC.rb易于安装,易于使用且易于破解。 它是用Ruby编写的,并由软件开发咨询公司的开发人员在业余...
全套汽车巡航系统模糊控制设计Matlab文件-CruiseControl.zip 全套m.file文件,包括模型和 CruiseControl.zip 模糊控制器设计。
本压缩包“cruisecontrol配置文件.rar”包含了一些关键文件,它们是CruiseControl配置和运行的核心部分。 `main.jsp` 是CruiseControl Web界面的一个页面,用户可以通过这个页面查看构建状态、历史记录以及错误报告...
总结,配置CruiseControl定时运行涉及以下几个关键步骤:安装CruiseControl、编写`cruisecontrol.xml`配置文件、设定构建触发器、定义构建步骤、配置监控与通知,最后启动或重启CruiseControl服务。通过这种方式,你...
cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...
"cruisecontrol.rar"是一个关于汽车控制系统的仿真模型,其中包含了汽车模型以及PID控制模型的整合。本文将详细解析这一主题,帮助读者深入理解PID控制在汽车控制中的原理与应用。 首先,汽车模型是整个控制系统的...
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 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 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 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 ...
6. **检查配置文件**:通常情况下,`config.xml` 和 `dashboard-config.xml` 文件包含了 CruiseControl 的主要配置信息。这些文件位于安装目录下的 `etc` 目录内。 #### 四、关键配置说明 - **Ant 支持**:Cruise...
【标题】"cruise_control.zip.zip" 暗示我们正在处理一个被压缩的文件,该文件可能包含有关“巡航控制”系统的数据或软件。在IT领域,巡航控制通常指的是自动化构建和部署的过程,用于持续集成和持续交付(CI/CD)...
本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。 首先,CruiseControl的安装通常涉及下载最新版本的软件包,如V2.6.2,这可以从其官方网站sourceforge.net获取。安装完成...
本文将深入探讨CruiseControl的核心概念、配置方法以及如何在实际项目中运用。 CruiseControl的主要功能包括: 1. **自动构建**:CruiseControl可以定期检查源代码库中的变更,一旦检测到更新,就会触发构建过程。...
CruiseControl通过XML配置文件定义其工作流程,并提供了丰富的插件支持,可以与其他版本控制系统、构建工具、测试框架等无缝集成。 1.2 必需工具 在学习和使用CruiseControl之前,你需要准备以下基础工具: - 版本...
标题与描述概述的知识点主要涉及了使用CruiseControl与Maven2进行持续集成的配置流程。这是一项在软件开发过程中非常关键的技术实践,它能够自动检测代码库中的更新,并自动执行构建、测试以及部署等任务,从而确保...
而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的。而在这里,我只...
6. **向CruiseControl中加入新项目**:"CruiseControl step by step(3)"部分可能详细介绍了如何添加新的项目到CruiseControl服务器,包括项目配置文件的修改和项目构建规则的设定。 7. **了解CruiseControl的配置...
CruiseControl-2.8.4.exe