rsm 0.1 → 0.1.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.
- data/CHANGES.md +6 -0
- data/README.md +1 -0
- data/VERSION +1 -1
- data/lib/rsm/actions.rb +23 -0
- data/lib/rsm/base.rb +4 -14
- data/lib/tasks/bundle/install.rb +18 -0
- data/lib/tasks/bundle/update.rb +13 -0
- data/lib/tasks/install/rails.rb +0 -4
- data/lib/tasks/unicorn/start.rb +3 -9
- data/lib/tasks/unicorn/stop.rb +5 -4
- metadata +6 -4
data/CHANGES.md
CHANGED
data/README.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1
|
1
|
+
0.1.1
|
data/lib/rsm/actions.rb
CHANGED
@@ -2,6 +2,29 @@ module Rsm
|
|
2
2
|
module Actions
|
3
3
|
TAR_OPTS = {:gz => '-z', :bz2 => '-j'}.freeze
|
4
4
|
|
5
|
+
def application_root
|
6
|
+
unless @application_root
|
7
|
+
@application_root = if options[:capistrano]
|
8
|
+
"#{options[:apps_root]}/#{name}/#{options[:capistrano]}/current"
|
9
|
+
else
|
10
|
+
"#{options[:apps_root]}/#{name}"
|
11
|
+
end
|
12
|
+
@application_root = Pathname.new(@application_root)
|
13
|
+
say "Application root: #{@application_root}" if options[:verbose]
|
14
|
+
end
|
15
|
+
@application_root
|
16
|
+
end
|
17
|
+
|
18
|
+
def run_ruby_binary(command, config = {})
|
19
|
+
rvmrc = application_root.join(".rvmrc")
|
20
|
+
with = if rvmrc.exist?
|
21
|
+
File.new(rvmrc).readline.strip + " exec"
|
22
|
+
else
|
23
|
+
"#{Thor::Util.ruby_command} -S"
|
24
|
+
end
|
25
|
+
run(command, config.merge(:with => with))
|
26
|
+
end
|
27
|
+
|
5
28
|
# relative downloaded filename
|
6
29
|
# *name*:: application name
|
7
30
|
# *compressor*:: +:gz+ or +:bz2+
|
data/lib/rsm/base.rb
CHANGED
@@ -10,28 +10,18 @@ module Rsm
|
|
10
10
|
class_option :apps_root, :default => "/var/www", :aliases => "-r", :desc => "Rails apps root"
|
11
11
|
class_option :capistrano, :default => false, :aliases => "-c", :desc => "Application's Capistrano stage"
|
12
12
|
|
13
|
+
class_option :verbose, :default => false, :aliases => "-V", :desc => "Verbose output"
|
13
14
|
|
14
15
|
def self.template_path
|
15
16
|
Thor::Util.snake_case(name.to_s).squeeze(":").gsub(":", "/")
|
16
17
|
end
|
17
|
-
|
18
|
+
|
18
19
|
def self.source_root
|
19
20
|
File.expand_path("../../../templates/#{template_path}", __FILE__)
|
20
21
|
end
|
21
22
|
|
22
|
-
def
|
23
|
-
|
24
|
-
@application_root = if options[:capistrano]
|
25
|
-
"#{options[:apps_root]}/#{name}/#{options[:capistrano]}/current"
|
26
|
-
else
|
27
|
-
"#{options[:apps_root]}/#{name}"
|
28
|
-
end
|
29
|
-
@application_root = Pathname.new(@application_root)
|
30
|
-
say "Application root: #{@application_root}"
|
31
|
-
end
|
32
|
-
@application_root
|
23
|
+
def set_destination_root
|
24
|
+
self.destination_root = application_root.to_s
|
33
25
|
end
|
34
|
-
remove_task :application_root
|
35
|
-
|
36
26
|
end
|
37
27
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Rsm
|
2
|
+
module Bundle
|
3
|
+
class Install < Rsm::Base
|
4
|
+
class_option :deployment, :aliases => "-D", :type => :boolean, :default => false, :desc => "Use deployment mode"
|
5
|
+
class_option :without, :desc => "Pass to --without bundler's option"
|
6
|
+
|
7
|
+
def check_and_install
|
8
|
+
bundle_install = "bundle install"
|
9
|
+
bundle_install << " --deployment" if options[:deployment]
|
10
|
+
bundle_install << " --without #{options[:without]}" if options[:without]
|
11
|
+
inside "." do
|
12
|
+
run_ruby_binary "bundle check || #{bundle_install}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/tasks/install/rails.rb
CHANGED
@@ -12,10 +12,6 @@ module Rsm
|
|
12
12
|
|
13
13
|
class_option :worker_processes, :type => :numeric, :default => 2, :aliases => "-w", :desc => "Worker processes for use in Unicorn"
|
14
14
|
|
15
|
-
def set_destination_root
|
16
|
-
self.destination_root = application_root.to_s
|
17
|
-
end
|
18
|
-
|
19
15
|
def download
|
20
16
|
empty_directory "."
|
21
17
|
inside application_root do
|
data/lib/tasks/unicorn/start.rb
CHANGED
@@ -2,17 +2,11 @@ module Rsm
|
|
2
2
|
module Unicorn
|
3
3
|
class Start < Rsm::Base
|
4
4
|
class_option :environment, :aliases => "-e", :default => "production"
|
5
|
-
|
5
|
+
|
6
6
|
def unicorn_rails
|
7
|
-
|
8
|
-
if rvmrc.exist?
|
9
|
-
ruby_cmd = File.new(rvmrc).readline.strip + " exec"
|
10
|
-
else
|
11
|
-
ruby_cmd = "#{Thor::Util.ruby_command} -S"
|
12
|
-
end
|
13
|
-
run "#{ruby_cmd} unicorn_rails -D -E #{options[:environment]} -c #{application_root.join("config", "unicorn.rb")}"
|
7
|
+
run_ruby_binary "unicorn_rails -D -E #{options[:environment]} -c #{application_root.join("config", "unicorn.rb")}"
|
14
8
|
end
|
15
|
-
|
9
|
+
|
16
10
|
end
|
17
11
|
end
|
18
12
|
end
|
data/lib/tasks/unicorn/stop.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
module Rsm
|
2
2
|
module Unicorn
|
3
3
|
class Stop < Rsm::Base
|
4
|
-
|
4
|
+
|
5
5
|
def unicorn_rails
|
6
|
-
|
7
|
-
|
6
|
+
inside "." do
|
7
|
+
run "kill $(cat tmp/pids/unicorn.pid)"
|
8
|
+
end
|
8
9
|
end
|
9
|
-
|
10
|
+
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-04 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: &
|
16
|
+
requirement: &81380070 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 0.14.6
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *81380070
|
25
25
|
description: Thor tasks for rapid deployment new rails apps on server
|
26
26
|
email: a.ulyanitsky@gmail.com
|
27
27
|
executables:
|
@@ -44,6 +44,8 @@ files:
|
|
44
44
|
- lib/rsm/base.rb
|
45
45
|
- lib/rsm/runner.rb
|
46
46
|
- lib/rsm/version.rb
|
47
|
+
- lib/tasks/bundle/install.rb
|
48
|
+
- lib/tasks/bundle/update.rb
|
47
49
|
- lib/tasks/install/nginx.rb
|
48
50
|
- lib/tasks/install/rails.rb
|
49
51
|
- lib/tasks/unicorn/start.rb
|