shelly 0.4.19 → 0.4.21

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjNhNzAxMmI5MDcwMTQ5ZTg0Mzg0MGQ5MmQ5ZWEwM2JmYTY1Y2VlYQ==
4
+ NDdlYTA5ZTNlZDdhNTdhNDNmNjFiMzE2Njk0ZDZjN2NiOTBiZjYyMw==
5
5
  data.tar.gz: !binary |-
6
- NzUyMDQ4OTRhMjE1ODMxMTY0ODJhNTY1ZTVmZGQxNThmOWIxNmQyNg==
6
+ NGNhNjJjZmIzZTE4NDkyMjIzOThkYWE0Yjk1Y2RjODdmNDJlODc0ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjVmNjZiZGVhNzA2M2VlMjc0MjBhYjg0ZGI5MjgyMmI1OGIzNGRjOTM4MThl
10
- M2I4ZjUwYjk4NGRiOWYwOWFiNDY5NTY4ODUyNGVhMTgyMzIzY2M0Mzc0MjBh
11
- OTJiODViMzkwZjdjZTg2MjFhZGU2NTMyZTVjZjhiNTVjNWFkNGY=
9
+ NzI5YWUxNDAxNzExNGJkNjFiNGE1ZTM5NjAwN2ZiMmNjYjljODMzNmI5NDdk
10
+ ZTEyMjBkNzBhZWY2YmE2NDY0ZDNiMWZlNTFlNjVkMGE0MjFiZWY1M2Q1MDY5
11
+ NDkyZjUyYzY2NjQwNmM1YzE1YTYwZjY0MTc0MTdkZDFhZmIzYzM=
12
12
  data.tar.gz: !binary |-
13
- ZjBlNjZhNDAyNTk1MzAzY2E2MTk5NTg5ZDUwMzliMjBlMDE3NjhmN2YzMjJm
14
- NGRlMjQ2NGI3ZTVhYzdkZWE0NDNiNDgyNWQ0MzhjZTBiYWYxYmNiMTg3Yzhj
15
- OGZjZjdhMjg3M2UyMmFhYmU1NzNmYTk4ZjAzMDQwNzE3ZjQ0MzI=
13
+ NjhkYjkwY2QxZTMwMzBjNDU5MzFlODZlMjVkNmQ0NmEwMTAzMTk5MWIxZGMw
14
+ MGFlYzhiNjBiNWVlOGYzZTk0YzE1ZjA5ODgyZGZkYjZmYjc2YTdjNGYzMWI4
15
+ ZDNlODlkMzYxZTMyNGYzYjhmOTdkM2Q2MDgzMTIzNzcyNDI5YmU=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 0.4.21 / 2014-01-15
2
+
3
+ * [improvement] destination path when uploading files to Shelly Cloud
4
+ `shelly files upload source destination`
5
+
6
+ ## 0.4.20 / 2014-01-14
7
+
8
+ * [improvement] add 2.1.0 and rbx to supported ruby versions
9
+ * [improvement] `shelly deploy show` will show output of the on_restart hook
10
+
1
11
  ## 0.4.19 / 2013-12-26
2
12
 
3
13
  * [bugfix] `shelly delete` fixed remove git remote when deleting cloud
data/lib/shelly/app.rb CHANGED
@@ -299,9 +299,9 @@ module Shelly
299
299
  ssh(:command => "ls -l #{persistent_disk}/#{path}")
300
300
  end
301
301
 
302
- def upload(source)
302
+ def upload(source, destination)
303
303
  tunnel_connection.tap do |conn|
304
- rsync(source, "#{conn['host']}:#{persistent_disk}", conn)
304
+ rsync(source, "#{conn['host']}:#{persistent_disk}/#{destination}", conn, "--relative")
305
305
  end
306
306
  end
307
307
 
@@ -452,8 +452,8 @@ module Shelly
452
452
  "-o StrictHostKeyChecking=no -p #{conn['port']} -l #{conn['user']}"
453
453
  end
454
454
 
455
- def rsync(source, destination, conn)
456
- system "rsync -avz -e 'ssh #{ssh_options(conn)}' --progress #{source} #{destination}"
455
+ def rsync(source, destination, conn, options = "")
456
+ system "rsync --archive --verbose --compress #{options} -e 'ssh #{ssh_options(conn)}' --progress #{source} #{destination}"
457
457
  end
458
458
  end
459
459
  end
@@ -55,6 +55,9 @@ module Shelly
55
55
  if content["before_restart"]
56
56
  say("Before restart hook", :green); say(content["before_restart"])
57
57
  end
58
+ if content["on_restart"]
59
+ say("On restart hook", :green); say(content["on_restart"])
60
+ end
58
61
  if content["delayed_job"]
59
62
  say("Starting delayed job", :green); say(content["delayed_job"])
60
63
  end
@@ -20,10 +20,10 @@ module Shelly
20
20
  say_error "Cloud #{app} wasn't deployed properly. Cannot list files."
21
21
  end
22
22
 
23
- desc "upload PATH", "Upload files to persistent data storage"
24
- def upload(path)
25
- app = multiple_clouds(options[:cloud], "file upload #{path}")
26
- app.upload(path)
23
+ desc "upload SOURCE_PATH [DEST_PATH]", "Upload files to persistent data storage"
24
+ def upload(source, destination = ".")
25
+ app = multiple_clouds(options[:cloud], "file upload #{source} #{destination}")
26
+ app.upload(source, destination)
27
27
  rescue Client::NotFoundException => e
28
28
  say_error e["message"]
29
29
  rescue Client::ConflictException
@@ -29,7 +29,7 @@ module Shelly
29
29
 
30
30
  if structure.gemfile_ruby_version?
31
31
  if structure.gemfile_engine == 'ruby'
32
- print_check(!['1.8.7', '2.1.0'].include?(structure.gemfile_ruby_version),
32
+ print_check(!['1.8.7'].include?(structure.gemfile_ruby_version),
33
33
  "#{structure.gemfile_engine} #{structure.gemfile_ruby_version} is supported",
34
34
  "#{structure.gemfile_engine} #{structure.gemfile_ruby_version} is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
35
35
  :show_fulfilled => verbose)
@@ -41,7 +41,7 @@ module Shelly
41
41
  :show_fulfilled => verbose)
42
42
  end
43
43
 
44
- supported_jruby = '1.7.8'
44
+ supported_jruby = '1.7.10'
45
45
  if structure.gemfile_engine == 'jruby'
46
46
  print_check(!(structure.gemfile_ruby_version == '1.8.7' ||
47
47
  structure.gemfile_engine_version != supported_jruby),
@@ -50,8 +50,8 @@ module Shelly
50
50
  :show_fulfilled => verbose)
51
51
  end
52
52
 
53
- # other platforms: rbx, mingw, mswin show instant error
54
- unless ['jruby', 'ruby'].include?(structure.gemfile_engine)
53
+ # other platforms: mingw, mswin show instant error
54
+ unless ['jruby', 'ruby', 'rbx'].include?(structure.gemfile_engine)
55
55
  print_check(false, "",
56
56
  "Your ruby engine: #{structure.gemfile_engine} is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
57
57
  :show_fulfilled => verbose)
@@ -1,5 +1,5 @@
1
1
  <%= @code_name %>:
2
- ruby_version: <%= @ruby_version %> # 2.0.0, jruby, 1.9.3, 1.9.2 or ree-1.8.7
2
+ ruby_version: <%= @ruby_version %> # 2.1.0, 2.0.0, jruby, rbx, 1.9.3, 1.9.2 or ree-1.8.7
3
3
  environment: <%= @environment %> # RAILS_ENV
4
4
  monitoring_email: <%= @email %>
5
5
  domains:
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.4.19"
2
+ VERSION = "0.4.21"
3
3
  end
@@ -479,8 +479,8 @@ describe Shelly::App do
479
479
  @app.stub(:attributes => {"system_user" => "system_user"})
480
480
  @client.stub(:tunnel).and_return(
481
481
  {"host" => "console.example.com", "port" => "40010", "user" => "foo"})
482
- @app.should_receive(:system).with("rsync -avz -e 'ssh -o StrictHostKeyChecking=no -p 40010 -l foo' --progress /path console.example.com:/home/system_user/disk")
483
- @app.upload("/path")
482
+ @app.should_receive(:system).with("rsync --archive --verbose --compress --relative -e 'ssh -o StrictHostKeyChecking=no -p 40010 -l foo' --progress /path console.example.com:/home/system_user/disk/.")
483
+ @app.upload("/path", ".")
484
484
  end
485
485
  end
486
486
 
@@ -489,7 +489,7 @@ describe Shelly::App do
489
489
  @app.stub(:attributes => {"system_user" => "system_user"})
490
490
  @client.stub(:tunnel).and_return(
491
491
  {"host" => "console.example.com", "port" => "40010", "user" => "foo"})
492
- @app.should_receive(:system).with("rsync -avz -e 'ssh -o StrictHostKeyChecking=no -p 40010 -l foo' --progress console.example.com:/home/system_user/disk/. /tmp")
492
+ @app.should_receive(:system).with("rsync --archive --verbose --compress -e 'ssh -o StrictHostKeyChecking=no -p 40010 -l foo' --progress console.example.com:/home/system_user/disk/. /tmp")
493
493
  @app.download(".", "/tmp")
494
494
  end
495
495
  end
@@ -107,6 +107,8 @@ describe Shelly::CLI::Deploy do
107
107
  $stdout.should_receive(:puts).with("before symlink hook")
108
108
  $stdout.should_receive(:puts).with(green "Before restart hook")
109
109
  $stdout.should_receive(:puts).with("before restart hook")
110
+ $stdout.should_receive(:puts).with(green "On restart hook")
111
+ $stdout.should_receive(:puts).with("on restart hook")
110
112
  $stdout.should_receive(:puts).with(green "Starting delayed job")
111
113
  $stdout.should_receive(:puts).with("delayed jobs")
112
114
  $stdout.should_receive(:puts).with(green "Starting sidekiq")
@@ -132,7 +134,8 @@ describe Shelly::CLI::Deploy do
132
134
  "sidekiq" => "sidekiq workers", "db_migrate" => "rake db:migrate",
133
135
  "after_restart" => "after restart hook", "before_restart" => "before restart hook",
134
136
  "before_symlink" => "before symlink hook", "before_migrate" => "before migrate hook",
135
- "after_successful_deploy_hook" => "after successful deploy hook"
137
+ "after_successful_deploy_hook" => "after successful deploy hook",
138
+ "on_restart" => "on restart hook"
136
139
  }
137
140
  end
138
141
  end
@@ -60,7 +60,7 @@ describe Shelly::CLI::File do
60
60
  it "should upload files" do
61
61
  expected = {"host" => "console.example.com", "port" => "40010", "user" => "foo"}
62
62
  @client.stub(:tunnel).and_return(expected)
63
- @app.should_receive(:upload).with("some/path")
63
+ @app.should_receive(:upload).with("some/path", ".")
64
64
  invoke(@cli_files, :upload, "some/path")
65
65
  end
66
66
 
@@ -1658,9 +1658,9 @@ Wait until cloud is in 'turned off' state and try again.")
1658
1658
  context "supported version" do
1659
1659
  it "should show checked message" do
1660
1660
  Bundler::Definition.stub_chain(:build, :ruby_version).
1661
- and_return(mock(:engine => 'jruby', :version => '1.9.3', :engine_version => '1.7.8'))
1661
+ and_return(mock(:engine => 'jruby', :version => '1.9.3', :engine_version => '1.7.10'))
1662
1662
 
1663
- $stdout.should_receive(:puts).with(" #{green("✓")} jruby 1.7.8 (1.9 mode) is supported")
1663
+ $stdout.should_receive(:puts).with(" #{green("✓")} jruby 1.7.10 (1.9 mode) is supported")
1664
1664
  invoke(@main, :check)
1665
1665
  end
1666
1666
  end
@@ -1668,9 +1668,9 @@ Wait until cloud is in 'turned off' state and try again.")
1668
1668
  context "unsupported version" do
1669
1669
  it "should show error message - ruby version" do
1670
1670
  Bundler::Definition.stub_chain(:build, :ruby_version).
1671
- and_return(mock(:engine => 'jruby', :version => '1.8.7', :engine_version => '1.7.8'))
1671
+ and_return(mock(:engine => 'jruby', :version => '1.8.7', :engine_version => '1.7.10'))
1672
1672
 
1673
- $stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.8 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1673
+ $stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.10 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1674
1674
  invoke(@main, :check)
1675
1675
  end
1676
1676
 
@@ -1678,7 +1678,7 @@ Wait until cloud is in 'turned off' state and try again.")
1678
1678
  Bundler::Definition.stub_chain(:build, :ruby_version).
1679
1679
  and_return(mock(:engine => 'jruby', :version => '1.9.3', :engine_version => '1.7.3'))
1680
1680
 
1681
- $stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.8 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1681
+ $stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.10 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1682
1682
  invoke(@main, :check)
1683
1683
  end
1684
1684
  end
@@ -1697,9 +1697,9 @@ Wait until cloud is in 'turned off' state and try again.")
1697
1697
  context "other engines" do
1698
1698
  it "should show unsupported error message" do
1699
1699
  Bundler::Definition.stub_chain(:build, :ruby_version).
1700
- and_return(mock(:engine => 'rbx', :version => '1.9.2'))
1700
+ and_return(mock(:engine => 'mswin', :version => '1.9.2'))
1701
1701
 
1702
- $stdout.should_receive(:puts).with(" #{red("✗")} Your ruby engine: rbx is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1702
+ $stdout.should_receive(:puts).with(" #{red("✗")} Your ruby engine: mswin is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
1703
1703
  invoke(@main, :check)
1704
1704
  end
1705
1705
  end
@@ -106,7 +106,7 @@ config
106
106
  FakeFS.deactivate!
107
107
  expected = <<-config
108
108
  foo-staging:
109
- ruby_version: 1.9.3 # 2.0.0, jruby, 1.9.3, 1.9.2 or ree-1.8.7
109
+ ruby_version: 1.9.3 # 2.1.0, 2.0.0, jruby, rbx, 1.9.3, 1.9.2 or ree-1.8.7
110
110
  environment: production # RAILS_ENV
111
111
  monitoring_email: bob@example.com
112
112
  domains:
@@ -138,7 +138,7 @@ config
138
138
  @cloudfile.thin = 2
139
139
  expected = <<-config
140
140
  foo-staging:
141
- ruby_version: 1.9.3 # 2.0.0, jruby, 1.9.3, 1.9.2 or ree-1.8.7
141
+ ruby_version: 1.9.3 # 2.1.0, 2.0.0, jruby, rbx, 1.9.3, 1.9.2 or ree-1.8.7
142
142
  environment: production # RAILS_ENV
143
143
  monitoring_email: bob@example.com
144
144
  domains:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.19
4
+ version: 0.4.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shelly Cloud team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-26 00:00:00.000000000 Z
11
+ date: 2014-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  type: :development