class Ruboty::Capistrano::Actions::Rollback
Attributes
env[R]
message[R]
path[R]
role[R]
Public Class Methods
new(message)
click to toggle source
# File lib/ruboty/capistrano/actions/rollback.rb, line 9 def initialize(message) @message = message @env = Ruboty::Capistrano.config.env @role = message.match_data[1] @path = Ruboty::Capistrano.config.local_repo_path[@role] end
Public Instance Methods
call()
click to toggle source
# File lib/ruboty/capistrano/actions/rollback.rb, line 16 def call message.reply("#{@env}環境の#{@role}をrollbackします") rollback message.reply("#{@env}環境の#{@role}をrollback完了しました") rescue => e err_message = <<~TEXT :cop:問題が発生しました:cop: ``` #{e.message} ``` TEXT message.reply(err_message) end
Private Instance Methods
rollback()
click to toggle source
# File lib/ruboty/capistrano/actions/rollback.rb, line 31 def rollback cmd = "cd #{path} && bundle && bundle exec cap #{@env} deploy:rollback" out, err, status = Bundler.with_clean_env { Open3.capture3(cmd) } raise RollbackError.new(err) unless err.empty? end