Sha256: 338e8eabc47048887560732c9c392376714825d355f3a3583cf8ed77f607ed6a
Contents?: true
Size: 1.68 KB
Versions: 8
Compression:
Stored size: 1.68 KB
Contents
module Dandelion module Command class Deploy < Command::Base command :deploy def self.parser(options) OptionParser.new do |opts| opts.banner = 'Usage: dandelion deploy [options] [<revision>]' options[:dry] = false opts.on('--dry-run', 'Show what would have been deployed') do options[:dry] = true end end end def setup(args) config[:revision] = args.shift || nil end def execute! log.info("Connecting to #{adapter.to_s}") local_commit = workspace.local_commit remote_commit = workspace.remote_commit log.info("Remote revision: #{remote_commit ? remote_commit.oid : '---'}") log.info("Deploying revision: #{local_commit.oid}") deploy_changeset! deploy_additional_files! end def deployer_adapter if options[:dry] Adapter::NoOpAdapter.new(config) else adapter end end def deployer @deployer ||= Deployer.new(deployer_adapter, config) end private def deploy_changeset! changeset = workspace.changeset if changeset.empty? log.info("No changes to deploy") else log.info("Deploying changes...") deployer.deploy_changeset!(workspace.changeset) workspace.remote_commit = workspace.local_commit unless options[:dry] end end def deploy_additional_files! if config[:additional] && config[:additional].length > 0 log.info("Deploying additional files...") deployer.deploy_files!(config[:additional]) end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems