开发者

Capistrano - Email pending changes after deploy

I've been using this gist to send an email after deployment but I'd like the message to contain the pending changes.

I can't quite figure out how to get the get the response from cap deploy:pending into a variable that can be added to the email message.

https://gist.github.com/955917

How to use it?

 1. Add this file to config/deploy folder. 
 2. Update the file with your google credentials and from email address.
 3. Add the following content to config/deploy.rb. 

    require 'config/deploy/cap_notify.rb'

    # add email addresses for people who should receive deployment notifications
    set :notify_emails, ["EMAIL1@YOURDOMAIN.COM", "EMAIL2@YOURDOMAIN.COM"]

    after :deploy, 'deploy:send_notification'

    # Create task to send a notification
    namespace :deploy do
      desc "Send email notification"
      task :send_notification do
        Notifier.deploy_notification(self).deliver 
      end
    end

 4. Update deploy.rb with destination email addresses for the notifications.
 5. To test run this command:

    cap deploy:send_notification

=end 

require "action_mailer"

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => true,
  :tls => true,
  :address => "smtp.gmail.com",
  :port => 587,
  :domain => "gmail.com",
  :authentication => "plain",
  :user_name => "YOUR USER NAME",
  :password => "YOUR PASSWORD"
}

class Notifier < ActionM开发者_StackOverflowailer::Base
  default :from => "YOUR FROM EMAIL"

  def deploy_notification(cap_vars)
    now = Time.now
    msg = "Performed a deploy operation on #{now.strftime("%m/%d/%Y")} at #{now.strftime("%I:%M %p")} to #{cap_vars.host}"

    mail(:to => cap_vars.notify_emails, 
         :subject => "Deployed #{cap_vars.application} to #{cap_vars.stage}") do |format|
      format.text { render :text => msg}
      format.html { render :text => "<p>" + msg + "<\p>"}
    end

end end


Just use backticks?

str = `cap deploy:pending`
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜