eventhub-command 0.3.14 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32761ef79619cd8e2bde1d39ef5c7933d2f51875
4
- data.tar.gz: a8b2d169888960fa9fd37290f22cd2641f5a2a37
3
+ metadata.gz: 5146bf51057042c4f7ab5a36895dd7e039ac162e
4
+ data.tar.gz: 10cdad8b9dd1867d312734dc3005cbcc345e16ba
5
5
  SHA512:
6
- metadata.gz: ac8221ef5e6a9ee218c3af306a3a2ccb60c76c4aa4e2d7b599e2975b0f1436bcd0248f2d354e3aec07cc06560c284ec5b2f6bf298333d18b8fc7ac00853004c3
7
- data.tar.gz: 5a4eb8f139b83b7d1e1d61e9110337cf9b62d0f57dcce898c75ee4bb50b92a8bf67213e5bbf99749e90d003864d50a4230d43927ec912f1d79ee3ced2f7e0a22
6
+ metadata.gz: 52d2eef34897bf5207f7e2f57d19cbdea64ccd4a7dd56f318e6e2b24128348f577def951edb7dd70ff204ae977d29151241a99944e1780d8bbf91ab08d3d8730
7
+ data.tar.gz: 0993f713103cfe7121f8187e4090f20b459d1f1050831cc5d2a905498eb34154ad0f8145d19450b711d96a1e12231769fd11352d8cbe3a7c98c38b658acdfaf6
data/lib/deployer.rb CHANGED
@@ -9,3 +9,4 @@ require_relative 'deployer/base_deployer'
9
9
  require_relative 'deployer/mule_deployer'
10
10
  require_relative 'deployer/ruby_deployer'
11
11
  require_relative 'deployer/config_deployer'
12
+ require_relative 'deployer/console_deployer'
@@ -1,45 +1,24 @@
1
1
  class Deployer::ConsoleDeployer < Deployer::BaseDeployer
2
2
 
3
+ def initialize(options)
4
+ @options = options
5
+ end
6
+
3
7
  def deploy!
4
- case deploy_via
5
- when 'scp' then deploy_via_scp
6
- when 'svn' then deploy_via_svn
7
- else raise "Unknown value for deploy_via: #{deploy_via}"
8
+ Bundler.with_clean_env do
9
+ Dir.chdir(console_dir) do
10
+ system "bundle install && cap #{stage} deploy"
11
+ end
8
12
  end
9
13
  end
10
14
 
11
15
  private
12
16
 
13
- def working_dir
14
- options[:working_dir]
15
- end
16
-
17
- def deploy_via_scp
18
- cmd = "cd #{working_dir} && bundle install && bundle exec cap #{stage.name} deploy"
19
- execute_in_clean_env(cmd)
20
- end
21
-
22
- def deploy_via_svn
23
- console_release_zip = '~/apps/event_hub/shared/cached_copy_svn/branches/master/releases/rails/console.zip'
24
- cmds = []
25
- cmds << "rm -rf /tmp/console_deployment && mkdir -p /tmp/console_deployment"
26
- cmds << "cd /tmp/console_deployment && unzip #{console_release_zip} -d ."
27
- cmds << "cd /tmp/console_deployment/console && bundle install && bundle exec cap #{stage.name} deploy"
28
- # run the command only on one host of this stage.
29
- Deployer::Executor.new(stage.single_host_stage, verbose: verbose?) do |executor|
30
- update_scm(executor)
31
- cmds.each do |cmd|
32
- executor.execute(cmd)
33
- end
34
- end
17
+ def console_dir
18
+ Eh::Settings.current.console_source_dir
35
19
  end
36
20
 
37
- def execute_in_clean_env(cmd)
38
- puts "Will run #{cmd} on your local machine"
39
- Bundler.with_clean_env do
40
- system cmd
41
- end
21
+ def stage
22
+ @options.fetch(:stage, 'development')
42
23
  end
43
-
44
-
45
24
  end
data/lib/eh-commands.rb CHANGED
@@ -4,12 +4,10 @@ if Eh::Settings.current.repository
4
4
  require 'eh/commands/package_ruby'
5
5
  require 'eh/commands/package_rails'
6
6
  require 'eh/commands/stage'
7
- require 'eh/commands/deploy_config'
8
- require 'eh/commands/deploy_ruby'
9
- require 'eh/commands/deploy_mule'
10
7
  require 'eh/commands/dump'
11
8
  require 'eh/commands/db'
12
9
  require 'eh/commands/proxy'
10
+ require 'eh/commands/deploy'
13
11
  require 'eh/proxy/proxy'
14
12
  else
15
13
  # remove unused settings for this version
@@ -0,0 +1,111 @@
1
+ desc 'deployment commands'
2
+ command :deploy do |c|
3
+ c.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where processor is deployed to', default_value: Eh::Settings.current.default_stage)
4
+ c.flag([:branch], desc: 'branch', type: String, long_desc: 'What branch to deploy. Only when deploy_via=scm', default_value: 'master')
5
+ c.flag([:tag], desc: 'tag', type: String, long_desc: 'What tag to deploy. Only when deploy_via=scm', default_value: nil)
6
+ c.switch([:v, :verbose], :desc => 'Show additional output.')
7
+ c.flag([:deploy_via], desc: 'where to deploy from', type: String, long_desc: 'deploy via scm or scp. If you use scp then the working_dir is packaged and copied tot the servers', default_value: 'svn')
8
+
9
+ c.command :all do |c|
10
+ c.desc 'deploy all'
11
+ c.action do |global_options, options, arguments|
12
+ forward_arguments = arguments.join(' ')
13
+ deploy_config(options, forward_arguments)
14
+ deploy_ruby(options, forward_arguments)
15
+ deploy_mule(options, forward_arguments)
16
+ deploy_console(options, forward_arguments)
17
+ end
18
+ end
19
+
20
+ c.command :config do |c|
21
+ c.desc 'distribute the configs to the nodes'
22
+ c.action do |global_options, options, args|
23
+ Deployer::ConfigDeployer.new(options).deploy!
24
+ end
25
+ end
26
+
27
+ desc 'deploy the rails console app'
28
+ c.command :console do |c|
29
+ c.flag([:working_dir], desc: 'directory to execute commands in', type: String, default_value: '.')
30
+
31
+ c.action do |global_options, options, args|
32
+ Deployer::ConsoleDeployer.new(options).deploy!
33
+ end
34
+ end
35
+
36
+
37
+ c.command :mule do |c|
38
+ c.desc 'deploy a single channel adapter'
39
+ c.arg_name '[channel_adapter[,other_channel_adapter,pattern*]]'
40
+
41
+ c.action do |global_options, options, args|
42
+ begin
43
+ if args[0]
44
+ adapter_names = args[0].split(',').map(&:strip)
45
+ else
46
+ adapter_names = nil
47
+ end
48
+ Deployer::MuleDeployer.new(adapter_names, options).deploy!
49
+ rescue => e
50
+ puts e.message
51
+ puts e.backtrace.join("\n")
52
+ end
53
+ end
54
+ end
55
+
56
+ c.command :ruby do |c|
57
+ c.desc 'deploy a single ruby processor'
58
+ c.arg_name '[processor_name,[other_processor_name,pattern*]]'
59
+
60
+ c.action do |global_options, options, args|
61
+ begin
62
+ if args[0]
63
+ processor_names = args[0].split(',').map(&:strip)
64
+ else
65
+ processor_names = nil
66
+ end
67
+ Deployer::RubyDeployer.new(processor_names, options).deploy!
68
+ rescue => e
69
+ puts e.message
70
+ puts e.backtrace.join("\n")
71
+ end
72
+ end
73
+ end
74
+
75
+
76
+
77
+ private
78
+
79
+ def deploy_ruby(options, forward_arguments)
80
+ system "#{extend_command('deploy ruby')} #{copy_options(options, :stage, :branch, :tag, :verbose)} #{forward_arguments}"
81
+ end
82
+
83
+ def deploy_console(options, forward_arguments)
84
+ system "#{extend_command('deploy console')} #{copy_options(options, :stage)} #{forward_arguments}"
85
+ end
86
+
87
+ def deploy_mule(options, forward_arguments)
88
+ system "#{extend_command(:deploy_mule)} #{copy_options(options, :stage, :verbose)} #{forward_arguments}"
89
+ end
90
+
91
+ def deploy_config(options, forward_arguments)
92
+ system "#{extend_command('deploy config')} #{copy_options(options, :stage, :branch, :tag, :verbose)} #{forward_arguments}"
93
+ end
94
+
95
+ def copy_option(options, option)
96
+ if options[option]
97
+ "--#{option}=#{options[option]}"
98
+ end
99
+ end
100
+
101
+ def copy_options(options, *selected)
102
+ selected.map do |name|
103
+ copy_option(options, name)
104
+ end.compact.join(' ')
105
+ end
106
+
107
+ def extend_command(command)
108
+ "bundle exec eh #{command}"
109
+ end
110
+
111
+ end
@@ -1,5 +1,6 @@
1
1
  module Eh
2
2
  module Proxy
3
+ require 'uri'
3
4
  require_relative 'settings/git'
4
5
  require_relative 'settings/svn'
5
6
  require_relative 'settings/shell'
data/lib/eh/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eh
2
- VERSION = '0.3.14'
2
+ VERSION = '0.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventhub-command
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.14
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pascal Betz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-11 00:00:00.000000000 Z
12
+ date: 2015-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -182,10 +182,7 @@ files:
182
182
  - lib/eh-commands.rb
183
183
  - lib/eh.rb
184
184
  - lib/eh/commands/db.rb
185
- - lib/eh/commands/deploy_config.rb
186
- - lib/eh/commands/deploy_console.rb
187
- - lib/eh/commands/deploy_mule.rb
188
- - lib/eh/commands/deploy_ruby.rb
185
+ - lib/eh/commands/deploy.rb
189
186
  - lib/eh/commands/dump.rb
190
187
  - lib/eh/commands/generate_processor.rb
191
188
  - lib/eh/commands/package_rails.rb
@@ -1,13 +0,0 @@
1
- desc 'distribute the configs to the nodes'
2
-
3
- command :deploy_config do |c|
4
- c.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where processor is deployed to', default_value: Eh::Settings.current.default_stage)
5
- c.flag([:branch], desc: 'branch', type: String, long_desc: 'What branch to deploy. Only when deploy_via=scm', default_value: 'master')
6
- c.flag([:tag], desc: 'tag', type: String, long_desc: 'What tag to deploy. Only when deploy_via=scm', default_value: nil)
7
-
8
- c.switch([:v, :verbose], :desc => 'Show additional output.')
9
-
10
- c.action do |global_options, options, args|
11
- Deployer::ConfigDeployer.new(options).deploy!
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- desc 'deploy the console rails app'
2
-
3
- command :deploy_console do |c|
4
- c.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where processor is deployed to', default_value: Eh::Settings.current.default_stage)
5
- c.flag([:branch], desc: 'branch', type: String, long_desc: 'What branch to deploy. Only when deploy_via=scm', default_value: 'master')
6
- c.flag([:tag], desc: 'tag', type: String, long_desc: 'What tag to deploy. Only when deploy_via=scm', default_value: nil)
7
- c.flag([:deploy_via], desc: 'where to deploy from', type: String, long_desc: 'deploy via scm or scp. If you use scp then the working_dir is packaged and copied tot the servers', default_value: 'svn')
8
- c.flag([:working_dir], desc: 'directory to execute commands in', type: String, default_value: '.')
9
- c.switch([:v, :verbose], :desc => 'Show additional output.')
10
-
11
- c.action do |global_options, options, args|
12
- Deployer::ConsoleDeployer.new(options).deploy!
13
- end
14
- end
@@ -1,23 +0,0 @@
1
- desc 'deploy a single channel adapter'
2
- arg_name '[channel_adapter[,other_channel_adapter,pattern*]]'
3
-
4
- command :deploy_mule do |c|
5
- c.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where channel adapter is deployed to', default_value: Eh::Settings.current.default_stage)
6
- c.flag([:deploy_via], desc: 'how to get hold of the channel adapter: scm or scp', type: String, long_desc: 'copy the channel adapter zip file via scp from this machine or check it out from scm', default_value: 'svn')
7
-
8
- c.switch([:v, :verbose], :desc => 'Show additional output.')
9
-
10
- c.action do |global_options, options, args|
11
- begin
12
- if args[0]
13
- adapter_names = args[0].split(',').map(&:strip)
14
- else
15
- adapter_names = nil
16
- end
17
- Deployer::MuleDeployer.new(adapter_names, options).deploy!
18
- rescue => e
19
- puts e.message
20
- puts e.backtrace.join("\n")
21
- end
22
- end
23
- end
@@ -1,25 +0,0 @@
1
- desc 'deploy a single ruby processor'
2
- arg_name '[processor_name,[other_processor_name,pattern*]]'
3
-
4
- command :deploy_ruby do |c|
5
- c.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where processor is deployed to', default_value: Eh::Settings.current.default_stage)
6
- c.flag([:deploy_via], desc: 'how to get hold of the processor: scm or scp', type: String, long_desc: 'copy the processor zip file via scp from this machine or check it out from scm', default_value: 'svn')
7
- c.flag([:branch], desc: 'branch', type: String, long_desc: 'What branch to deploy. Only when deploy_via=scm', default_value: 'master')
8
- c.flag([:tag], desc: 'tag', type: String, long_desc: 'What tag to deploy. Only when deploy_via=scm', default_value: nil)
9
-
10
- c.switch([:v, :verbose], :desc => 'Show additional output.')
11
-
12
- c.action do |global_options, options, args|
13
- begin
14
- if args[0]
15
- processor_names = args[0].split(',').map(&:strip)
16
- else
17
- processor_names = nil
18
- end
19
- Deployer::RubyDeployer.new(processor_names, options).deploy!
20
- rescue => e
21
- puts e.message
22
- puts e.backtrace.join("\n")
23
- end
24
- end
25
- end