Sha256: 0f077504fc94aaf97052f0cdd541335a08fead1052175f2b51b7aae0d3d058af
Contents?: true
Size: 1.55 KB
Versions: 3
Compression:
Stored size: 1.55 KB
Contents
require 'fileutils' require_relative '../helpers/application_helper' module CapistranoMulticonfigParallel # class used to find application dependencies class StandardDeploy include FileUtils include CapistranoMulticonfigParallel::ApplicationHelper attr_reader :app, :stage, :action, :task_arguments, :env_options def initialize(options) @app = options.fetch('app', '') @stage = options.fetch('env', '') @action = options.fetch('action', '') @task_arguments = options.fetch('task_arguments:', []) @env_options = options.fetch('env_options', {}) execute_standard_deploy end def job_stage @app.present? ? "#{@app}:#{@stage}" : "#{@stage}" end def capistrano_action(action) argv = task_arguments.present? ? "[#{@task_arguments}]" : '' "#{action}#{argv}" end def setup_command_line_standard(options) opts = '' options.each do |key, value| opts << "#{key}=#{value} " if value.present? end opts end def build_capistrano_task(action = @action, env = {}) environment_options = setup_command_line_standard(@env_options.merge(env)) "bundle exec cap #{job_stage} #{capistrano_action(action)} #{environment_options} --trace" end def execute_standard_deploy(action = @action) command = build_capistrano_task(action) puts("\n\n\n Executing '#{command}' \n\n\n .") sh("#{command}") rescue => ex log_error(ex) execute_standard_deploy('deploy:rollback') if action.blank? && @name == 'deploy' end end end
Version data entries
3 entries across 3 versions & 1 rubygems