eventhub-command 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/deployer/console_deployer.rb +45 -0
- data/lib/eh/commands/deploy_console.rb +14 -0
- data/lib/eh/commands/dump.rb +59 -0
- data/lib/eh/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2fb2bc5d80dcd69973bcbf48295c7b61e2fe17d
|
4
|
+
data.tar.gz: f6a9bda4684ef2222599b282d2ad30b09bfafca4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38136338d0c5f426c3f7b3c01ce90dcf1e8ad9d2fee5d216832f5da80da627eb61cbd8736b3258d09c697059d8369d9ea02c16019f29b214de8ad6d770358f71
|
7
|
+
data.tar.gz: 7d51d14fe77a30d58c49a859cf65e13e84d58dca2fcf7483c7b84b0a1c9b583c0cab0ea5630266d7b937af12402c60a0dcf94aa96c9fad7c6c201d2b3b52b3df
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class Deployer::ConsoleDeployer < Deployer::BaseDeployer
|
2
|
+
|
3
|
+
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
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
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
|
35
|
+
end
|
36
|
+
|
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
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,14 @@
|
|
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: 'development')
|
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
|
@@ -0,0 +1,59 @@
|
|
1
|
+
desc "manage repositories"
|
2
|
+
|
3
|
+
command :dump do |command|
|
4
|
+
command.desc "Create a backup"
|
5
|
+
command.flag([:stage], desc: 'stage', type: String, long_desc: 'Stage where processor is deployed to', default_value: 'development')
|
6
|
+
command.switch([:v, :verbose], :desc => 'Show additional output.')
|
7
|
+
|
8
|
+
command.command :download do |command|
|
9
|
+
|
10
|
+
command.action do |global_options, options, args|
|
11
|
+
source = File.join('/tmp', "dump-#{args[0]}.zip")
|
12
|
+
target = File.join('/tmp', "dump-#{args[0]}.zip")
|
13
|
+
dir = File.join('/tmp', "dump-#{args[0]}")
|
14
|
+
|
15
|
+
cmds = []
|
16
|
+
host = stage(options).single_host_stage.hosts[0]
|
17
|
+
|
18
|
+
system "scp -P #{host[:port]} #{host[:user]}@#{host[:host]}:#{source} #{target}"
|
19
|
+
system "unzip -d #{dir} #{target}"
|
20
|
+
puts "Downloaded dump to #{target} and extracted to #{dir.green}"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
command.command :create do |command|
|
25
|
+
|
26
|
+
command.action do |global_options, options, args|
|
27
|
+
stamp = Time.now.strftime("%Y%m%d-%H%M%S")
|
28
|
+
dir = File.join('/tmp', "dump-#{stamp}")
|
29
|
+
zip_target = File.join('/tmp', "dump-#{stamp}.zip")
|
30
|
+
logstash_source = '~/apps/event_hub/shared/logs/logstash_output.log'
|
31
|
+
cmds = []
|
32
|
+
cmds << "mkdir -p #{dir}"
|
33
|
+
cmds << "cd #{dir} && pg_dump -Uevent_hub_console event_hub_console > console_pg.sql"
|
34
|
+
cmds << "if [[ -d #{logstash_source} ]] ; then cp #{logstash_source} #{File.join(dir, 'logstash_output.log')} ; fi"
|
35
|
+
cmds << "cd #{dir} && zip -r #{zip_target} ."
|
36
|
+
cmds << "rm -rf #{dir}"
|
37
|
+
|
38
|
+
|
39
|
+
Deployer::Executor.new(stage(options).single_host_stage, verbose: options[:verbose]) do |executor|
|
40
|
+
cmds.each do |cmd|
|
41
|
+
executor.execute(cmd)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
puts "Created an dump in #{zip_target}. Use #{stamp.green} as identifier for eh dump download."
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def stage(options)
|
54
|
+
@stage ||= begin
|
55
|
+
stage_path = File.join(Eh::Settings.current.stages_dir, "#{options[:stage]}.yml")
|
56
|
+
Deployer::Stage.load(options[:stage], stage_path)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/eh/version.rb
CHANGED
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.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pascal Betz
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- lib/deployer.rb
|
146
146
|
- lib/deployer/base_deployer.rb
|
147
147
|
- lib/deployer/config_deployer.rb
|
148
|
+
- lib/deployer/console_deployer.rb
|
148
149
|
- lib/deployer/executor.rb
|
149
150
|
- lib/deployer/mule_deployer.rb
|
150
151
|
- lib/deployer/net_ssh_extension.rb
|
@@ -153,8 +154,10 @@ files:
|
|
153
154
|
- lib/eh-commands.rb
|
154
155
|
- lib/eh.rb
|
155
156
|
- lib/eh/commands/deploy_config.rb
|
157
|
+
- lib/eh/commands/deploy_console.rb
|
156
158
|
- lib/eh/commands/deploy_mule.rb
|
157
159
|
- lib/eh/commands/deploy_ruby.rb
|
160
|
+
- lib/eh/commands/dump.rb
|
158
161
|
- lib/eh/commands/generate_processor.rb
|
159
162
|
- lib/eh/commands/list_stages.rb
|
160
163
|
- lib/eh/commands/package_ruby.rb
|