Sha256: 6a0a6b341c80f5f13dde6937f786917c16f55e4d4b6735ec5ef6a93e85a7a66e
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
require_relative './base_manager' module CapistranoMulticonfigParallel # class used to find application dependencies class SingleAppManager < CapistranoMulticonfigParallel::BaseManager include Celluloid include Celluloid::Logger def run options = {} if custom_command? run_custom_command(options) else deploy_single_app(options) end process_jobs end def run_custom_command(options) return unless custom_command? action_name = @name if action_name == custom_commands[:stages] stage_deploy(options) else raise "Custom command #{@name} not available for single apps" end end def stage_deploy(options) return unless custom_command? stages = fetch_multi_stages return if stages.blank? collect_jobs(options) do |new_options| stages.each do |stage| deploy_app(new_options.merge('stage' => stage, 'action' => 'deploy')) end end end def deploy_single_app(options) return if custom_command? collect_jobs(options) do |new_options| deploy_app(new_options) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems