Sha256: 75de9d0ca8a6d8b7cf6dd2ea2a0ac1b739acec2a836ae3251d7fe4607f1c3385
Contents?: true
Size: 1.16 KB
Versions: 9
Compression:
Stored size: 1.16 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
9 entries across 9 versions & 1 rubygems