dogids-cli 0.0.27 → 0.0.28

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: bb9ca37428031dab4d21924eb4bbc3e5568cb334
4
- data.tar.gz: c0c53d7eb178553500ffd155086fc950f27aa3d5
3
+ metadata.gz: f743e46965fa916cc7f6557dac0b012d6e291072
4
+ data.tar.gz: 2e0476139077a7e00c0a20f89507c110294baa58
5
5
  SHA512:
6
- metadata.gz: 85ac574cb597b18f263da43af5903807b55796fc99b5b4685e81f573d222624cda0817c088e2801c78485006dd137ed41ab9c737277b4e3dc77df0c8ebab4dcd
7
- data.tar.gz: 87e3168b541c9bf30aded06c72d44cb0b4880ee7228f49478359b489a3c2a2adaa840f628448a0841d7a3d3b283aa8bbb83f958c795a7b19296d5cc2102284ac
6
+ metadata.gz: ffeb21a0433b7ea13f4d9c9d1fd32a2d416dd4aab8c47ee791309271146d27adc7c42bf5f14e8c15a65018b90a51c648c79c38a0d2b944235fbbe9fcc6f4d662
7
+ data.tar.gz: 6f5a87c2d58e0ca6cd0150c7ec211e06c31fadf258e245ff04d415f3e0073c6fd1710ae2bd635317318a10e27fbf308825a460fd450fe6316e32aeb17aa00a50
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  results.html
3
3
  pkg
4
4
  html
5
+ *.gem
data/lib/dogids/deploy.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require "thor"
2
+ require_relative "deploy/backend"
2
3
  require_relative "deploy/staging"
4
+ require_relative "deploy/testing"
3
5
  require_relative "deploy/web"
4
6
  require_relative "deploy/worker"
5
7
 
@@ -11,7 +13,9 @@ module Dogids
11
13
  return self.send(deploy_command) if self.respond_to?(deploy_command)
12
14
 
13
15
  puts "Deployment Commands:"
16
+ puts " dogids deploy backend # Deploy the new backend"
14
17
  puts " dogids deploy staging # Deploy the staging.dogids.com storefront"
18
+ puts " dogids deploy testing # Deploy the new backend to testing"
15
19
  puts " dogids deploy web # Deploy the dogids.com storefront"
16
20
  puts " dogids deploy worker # Deploy the dogids-backgrounder app"
17
21
  puts " "
@@ -0,0 +1,79 @@
1
+ require "net/ssh"
2
+ require "thor"
3
+
4
+ module Dogids
5
+ class Cli < Thor
6
+ no_commands do
7
+ def deploy_backend
8
+ print_heading("Deploying backend to admin.dogids.com")
9
+
10
+ server_addresses = [
11
+ "admin"
12
+ ]
13
+
14
+ server_addresses.each do |server_address|
15
+ ssh_address = get_config_url("production","#{server_address}")
16
+ next if ssh_address == false
17
+
18
+ print_command("Server(#{server_address}): #{ssh_address}")
19
+
20
+ Net::SSH.start(ssh_address, "dogids") do |ssh|
21
+ print_command("Checking the current git status")
22
+ ssh.exec!(backend_git_status_command) do |_channel, _stream, data|
23
+ print_command(data)
24
+ end
25
+
26
+ if yes?("-----> Continue with deployment? [no]")
27
+ print_command("Pulling latest from master")
28
+ ssh.exec!(backend_git_pull_command) do |_channel, _stream, data|
29
+ print_command(data)
30
+ end
31
+
32
+ ssh.exec!(backend_composer_commands) do |_channel, _stream, data|
33
+ print_command(data)
34
+ end
35
+
36
+ ssh.exec!(backend_deployment_commands) do |_channel, _stream, data|
37
+ print_command(data)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ print_heading("Done.")
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def backend_deployment_commands
49
+ commands = []
50
+ commands << "cd /home/dogids/apps/dogids-backend"
51
+ commands << "php artisan deploy --progress"
52
+ commands.join(" && ")
53
+ end
54
+
55
+ def backend_composer_commands
56
+ commands = []
57
+ commands << "cd /home/dogids/apps/dogids-backend"
58
+ commands << "composer install --no-dev --optimize-autoloader"
59
+ commands.join(" && ")
60
+ end
61
+
62
+ def backend_git_pull_command(branch = "master")
63
+ commands = []
64
+ commands << "cd /home/dogids/apps/dogids-backend"
65
+ commands << "git fetch origin #{branch}"
66
+ commands << "git checkout #{branch}"
67
+ commands << "git pull origin #{branch}"
68
+ commands.join(" && ")
69
+ end
70
+
71
+ def backend_git_status_command
72
+ commands = []
73
+ commands << "cd /home/dogids/apps/dogids-backend"
74
+ commands << "git status -s"
75
+ commands.join(" && ")
76
+ end
77
+
78
+ end
79
+ end
@@ -0,0 +1,57 @@
1
+ require "net/ssh"
2
+ require "thor"
3
+
4
+ module Dogids
5
+ class Cli < Thor
6
+ no_commands do
7
+ def deploy_testing
8
+ print_heading("Deploying backend to testing.dogids.com")
9
+
10
+ server_addresses = [
11
+ "testing"
12
+ ]
13
+
14
+ server_addresses.each do |server_address|
15
+ ssh_address = get_config_url("staging","#{server_address}")
16
+ next if ssh_address == false
17
+
18
+ print_command("Server(#{server_address}): #{ssh_address}")
19
+
20
+ Net::SSH.start(ssh_address, "dogids") do |ssh|
21
+ print_command("Checking the current git status")
22
+ ssh.exec!(backend_git_status_command) do |_channel, _stream, data|
23
+ print_command(data)
24
+ end
25
+
26
+ current_branch = ssh.exec!("cd /home/dogids/apps/dogids-backend && git rev-parse --abbrev-ref HEAD").strip
27
+ print_heading("Current Branch: #{current_branch}")
28
+
29
+ branch = ask("-----> Which branch would you like to deploy? [#{current_branch}]").strip
30
+
31
+ break print_command("Fine, be that way.") if branch.downcase == "cancel"
32
+
33
+ branch = current_branch if branch.length == 0
34
+
35
+ print_command("Pulling latest from #{branch}")
36
+ ssh.exec!(backend_git_pull_command(branch)) do |_channel, _stream, data|
37
+ print_command(data)
38
+ end
39
+
40
+ ssh.exec!(backend_composer_commands) do |_channel, _stream, data|
41
+ print_command(data)
42
+ end
43
+
44
+ ssh.exec!(backend_deployment_commands) do |_channel, _stream, data|
45
+ print_command(data)
46
+ end
47
+ end
48
+ end
49
+
50
+ print_heading("Done.")
51
+ end
52
+ end
53
+
54
+ private
55
+
56
+ end
57
+ end
@@ -3,7 +3,7 @@ require "open-uri"
3
3
  require "thor"
4
4
 
5
5
  module Dogids
6
- VERSION = "0.0.27"
6
+ VERSION = "0.0.28"
7
7
 
8
8
  class Cli < Thor
9
9
  desc "update", "Update dogids-cli to latest version"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dogids-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaryd Krishnan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-15 00:00:00.000000000 Z
11
+ date: 2017-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -75,7 +75,9 @@ files:
75
75
  - lib/dogids/cache/staging.rb
76
76
  - lib/dogids/config.rb
77
77
  - lib/dogids/deploy.rb
78
+ - lib/dogids/deploy/backend.rb
78
79
  - lib/dogids/deploy/staging.rb
80
+ - lib/dogids/deploy/testing.rb
79
81
  - lib/dogids/deploy/web.rb
80
82
  - lib/dogids/deploy/worker.rb
81
83
  - lib/dogids/reload.rb