cruisecontrol.rb
CruiseControl for Ruby. Keep it simple.
Open Source | ThoughtWorks
Has anyone ever set up Cruise Control to build an OS X Cocoa/Objective-C project?
If so, is there a preferred flavor of CruiseControl (CruiseControl.rb or just regular CruiseControl) that would be easier to do this with.
I currently have a Ruby rake file that has steps for doing building and running tests, and wanted to automate this process after doing a checkin.
Also, does CruiseControl have support for git? I couldn't find anything on the website for this.
Source: (StackOverflow)
I use cruisecontrol.rb for CI and FogBugz for bug tracking, but the more general the answers, the better.
First is the technical problem: is there an API for FogBugz? Are there good tutorials, or better yet, pre-written code?
Second is the procedural problem: what, exactly, should the CI put in the bug tracker when the build breaks? Perhaps:
Title: "#{last committer} broke the build!"
Body: "#{ error traces }"
I suppose this presupposes the answer to this question: should I even put CI breaks into my bug tracking?
Source: (StackOverflow)
we are using cruisecontrol.rb for CI.
but cruise control is failing with this output
/opt/ruby-enterprise-1.8.6-20090610/lib/ruby/site_ruby/1.8/rubygems.rb:258:in `activate': can't activate activesupport (= 1.4.2, runtime) for [], already activated activesupport-2.2.2 for ["rails-2.2.2"] (Gem::Exception) from /opt/ruby-enterprise-
can anybody trouble shoot.
I want to run rake task and rcov can anyone suggest rake task for it.
Thanks.
Source: (StackOverflow)
Can I deploy cruisecontrol.rb in heroku
cruisecontrol rb uses GIT and runs shell commands.
Would heroku let do that ?
Thanks
Source: (StackOverflow)
How do I set up the email notification with CruiseControl.rb? I've specified the ActionMailer::Base.smtp_settings in the site-config.rb but where do I specify who will receive the email notification? Do I need to create a config.xml file? If so, where do I put the file and do you have an example of the contents of this file?
Source: (StackOverflow)
First off, is autotest and cruisecontrol performing the same sort of CI tasks?
I want to setup something that will run my unit tests, and also integration tests on my local MBP computer i.e. I don't have a seperate computer for this yet.
Is autotest something that runs everytime you change a file while cruisecontrol something that runs at a more periodic basis like once every checkin or something?
Does it put a big strain on the computer?
Source: (StackOverflow)
when CruiseControl.rb wants to perform an integration test it looks for a rake task called "cruise" within the project and executes it.
Is there a way to hand over the current revision number to that task?
I'm deploying an app using capistrano on a remote machine after integration tests. Because capistrano will deploy the HEAD revision if no special revision is passed, I'd like to tell it to use cc.rb's last checked revision...
any ideas?
Source: (StackOverflow)
I can't seem to figure this out. I setup my email address in cruisecontrol.rb but no matter how I set it, it always gives me this error.
Current settings are:
project/cruise_config.rb:
project.email_notifier.emails = ['my@myemail.com']
project.email_notifier.from = 'noreply@myemail.com'
site_config.rb:
ActionMailer::Base.smtp_settings = {
:address => "localhost",
:domain => "myemail.com",
}
I've even tried
ActionMailer::Base.delivery_method = :sendmail
Configuration.email_from = 'noreply@narble.com'
Any thoughts as to why my cruisecontrol can't send an e-mail? Thanks!
Justin
Source: (StackOverflow)
I'm using CruiseControl.rb (2.0.0pre1) for CI with a Rails 3 app and I'm trying to get it to work with rspec. Inside the cruise_control.rb
I'm calling the spec rake task
Project.configure do |project|
project.rake_task = 'spec'
end
Very basic and easy configuration. But even when a test is failing, the build passes. It doesn't detect wether the tests passes or fail.
Furthermore I want to know if I can grab the exit status from the rake task, and call a ruby script depending if a build fails or passes.
Source: (StackOverflow)
I have my CruiseControl up and running. I have set custom build script. The build script has following code.
RVM_VERSION=2.1.2
rvm 2.1.2 exec bundle install
RAILS_ENV=test rvm 2.1.2 exec bundle exec rake db:migrate
rspec -P spec/v0/models/ability_spec.rb
When the build runs, it fails and sets the following in the log.
exitstatus: 1
When this happens, it has already hit the rspec block in my build script. Now how do I check the exitstatus code so that I can add more commands after the rspec block? Or Do I have to do it else where? More specifically I want to deploy the project to a server using capistrano.
Source: (StackOverflow)
I'm trying to use CruiseControl.rb (ver. 2.0.0pre1) with RSpec for my Ruby on Rails 3 app. The cruise_config.rb
for my project looks like this:
Project.configure do |project|
project.rake_task = 'db:migrate db:test:prepare spec'
project.scheduler.polling_interval = 1.hour
project.scheduler.always_build = false
end
But when I try to run a build with CruiseControl, it says:
rake aborted!
Custom rake task(s) 'spec' not defined
Tasks: TOP => cc:build
(See full trace by running task with --trace)
It can't find the spec rake task to run the RSpec tests. I also tried to define a custom rake task inside my Rakefile
and removed the project.rake_task = 'db:migrate db:test:prepare spec'
line inside the cruise_config.rb
:
desc "Custom Task for CruiseControl.rb"
task :cruise do
puts "Custom Rake task"
Rake::Task['db:migrate'].execute
Rake::Task['db:test:prepare'].execute
Rake::Task['spec'].execute
end
If i do so, CruiseControl says
rake aborted!
ActiveRecord::ConnectionNotEstablished
Tasks: TOP => cruise
(See full trace by running task with --trace)
[CruiseControl] Invoking Rake task "cruise"
Custom Rake task
Does anybody have CruiseControl.rb working with RSpec?
Source: (StackOverflow)
How do you unit/integration test code that requires a different privilege level than exists in your continuous integration environment?
In my non-root, CCRB-driven build environment, I've got some utility functions that assume privileges that don't hold in my automated build environment: either root privileges or special accounts and groups. (For example, one function changes UID/GID and supplementary groups to a specified account, changes root and current working directory, and divorces from any controlling terminal.)
We could run the tests by hand, of course, but then we might forget to run them.
How have others tackled this issue?
Source: (StackOverflow)
I am attempting to use cruisecontrol.rb for continuous integration. The code that is being built resides in a Mercurial repository.
What I would like is for CI to run only when a change is pushed to a specific branch. The documentation indicates that this is supported. I have tried:
./cruise add my_project -r repository_location -s hg -b development
I also tried using this approach in the cruise_config.rb for the project:
Project.configure do |project|
project.source_control = SourceControl::Mercurial.new(:repository => 'repository_location', :branch => 'development')
end
These both appear to result in the project building from tip no matter what branch tip is pointing to.
Ultimately, I can make it work (more based on my knowledge of Mercurial than cruisecontrol.rb), but it seems like one of the two options above should work.
Here is what I did to make it work:
- Added the project as in the first example.
- Stripped all changsets except the first one from cruisecontrol.rb's copy of the repo.
- Pulled only the branch I wanted.
Added the following alias to cruisecontrol.rb's hgrc:
pull = pull --branch development
Modified the following code in cruisecontrol/lib/source_control/mercurial/log_parser.rb:
def parse(message)
...
entries.each do |entry|
next unless entry.match(/^changeset:\s+\d+:(.....)/) # Added only this line.
...
end
end
So far, it appears to be working as intended. I'm going to be adding builds for other branches and we'll see.
However, I'm hoping someone can tell me how to do this within the constructs of cruisecontrol.rb, as all documentation seems to indicate that this would be supported.
Source: (StackOverflow)
I'm curious as to why when I build my project using CruiseControl.rb, it runs it in production mode? Even though my application should not be in production mode. I even tried to specify: ENV['RAILS_ENV'] ||= 'development'
in my app's environment.rb
Source: (StackOverflow)