Jeff Dean's blog
AutoTagger is a gem that helps you automatically create a date-stamped tag for each stage of your deployment, and deploy from the last tag from the previous environment.
Let's say you have the following workflow:
- Run all test on a Continuous Integration (CI) server
- Deploy to a staging server
- Deploy to a production server
You can use the autotag command to tag releases on your CI box, then use the capistrano tasks to auto-tag each release.
We use Cruise Control on our Continuous Integration server and we have several ways of getting alerts about the status of the build, including email, RSS and the Cruise Control web interface.
Recently we noticed that the web interface and the rss feeds were taking very long to respond, on the order of 1 minute or more. After poking around, we realized that we had hundreds of serialized builds still on disk.
$ cd ~/OurCruiseDirectory/projects/OurProject
$ rm -r build-*
Then, to make sure this doesn't happen again, we edited our OurCruiseDirectory/site_config.rb site_config.rb to decrease the number of builds we keep:
BuildReaper.number_of_builds_to_keep = 20
So it appears that the time Cruise Control responses take is directly proportional to the number of builds saved on the server.
Interesting
While this has been mentioned before, naming an ActiveRecord association :target will cause infinite recursion. Especially lame if you are building an app for assassins or mobsters.
The tracker team upgraded to 2.2 and saw a big increase in the size of their mongrels, and much longer start-up times.
In an erector widget it appears that respond_to? checks arity. For example:
self.respond_to?("some_method") # => false
self.respond_to?("some_method", some_value) # => true







