Any capistrano email recipes?

I'd like to set up capistrano to send an email whenever we do a deployment. Just start an SMTP session with localhost and shoot off the email. I have all the code to do that actually, I just don't know how to run some Ruby code on the deployment server. Anyone know how to do that, or do you have an email recipe?

Pat

Hey Pat-

  Here is a method you can use to run ruby code on the remote server:

def ruby(cmd, options={}, &block)    temp_name = random_string + ".rb"    begin      put(cmd, temp_name, :mode => 0700)      send(run_method, "ruby #{temp_name}", options, &block)    ensure      delete temp_name    end end

# then in a recipe:

task :foo do     ruby "puts 'hello world!'"     ruby <<-RUBY        1.upto(10).do |i|           pust i        end     RUBY end

Cheers- -- Ezra Zygmuntowicz -- Lead Rails Evangelist -- ez@engineyard.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)

Cool, thanks, that worked. Until I needed to load up some stuff from the rails environment. Decided to use ActionMailer instead of just doing the SMTP connection. Anyway, I created a cap plugin:

module CapistranoRunner   def runner(cmd)     run "#{release_path}/script/runner \"#{cmd}\" -e production"   end end Capistrano.plugin :runner, CapistranoRunner

and then to use it it looks like

task :after_deploy do   runner.runner "CapistranoMailer.deliver_deploy(:revision => #{revision})"   cleanup end

Pat