siefca-vlad 1.2.0 → 1.2.0.2
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/Manifest.txt +3 -0
- data/lib/vlad/nginx.rb +36 -0
- data/lib/vlad/thin.rb +64 -0
- data/lib/vlad/web.rb +12 -0
- data/test/vlad_test_case.rb +1 -1
- metadata +5 -2
data/Manifest.txt
CHANGED
@@ -16,8 +16,11 @@ lib/vlad/git.rb
|
|
16
16
|
lib/vlad/lighttpd.rb
|
17
17
|
lib/vlad/mercurial.rb
|
18
18
|
lib/vlad/mongrel.rb
|
19
|
+
lib/vlad/nginx.rb
|
19
20
|
lib/vlad/perforce.rb
|
20
21
|
lib/vlad/subversion.rb
|
22
|
+
lib/vlad/thin.rb
|
23
|
+
lib/vlad/web.rb
|
21
24
|
test/test_rake_remote_task.rb
|
22
25
|
test/test_vlad.rb
|
23
26
|
test/test_vlad_git.rb
|
data/lib/vlad/nginx.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'vlad'
|
2
|
+
|
3
|
+
namespace :vlad do
|
4
|
+
##
|
5
|
+
# Nginx web server on Gentoo/Debian init.d systems
|
6
|
+
|
7
|
+
set :web_command, "/etc/init.d/nginx"
|
8
|
+
|
9
|
+
desc "(Re)Start the web servers"
|
10
|
+
|
11
|
+
remote_task :start_web, :roles => :web do
|
12
|
+
run "#{web_command} restart"
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Stop the web servers"
|
16
|
+
|
17
|
+
remote_task :stop_web, :roles => :web do
|
18
|
+
run "#{web_command} stop"
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Everything HTTP.
|
23
|
+
|
24
|
+
desc "(Re)Start the web and app servers"
|
25
|
+
remote_task :start do
|
26
|
+
Rake::Task['vlad:start_app'].invoke
|
27
|
+
Rake::Task['vlad:start_web'].invoke
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Stop the web and app servers"
|
31
|
+
|
32
|
+
remote_task :stop do
|
33
|
+
Rake::Task['vlad:stop_app'].invoke
|
34
|
+
Rake::Task['vlad:stop_web'].invoke
|
35
|
+
end
|
36
|
+
end
|
data/lib/vlad/thin.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
# $GEM_HOME/gems/vlad-1.2.0/lib/vlad/thin.rb
|
2
|
+
# Thin tasks for Vlad the Deployer
|
3
|
+
# By cnantais
|
4
|
+
require 'vlad'
|
5
|
+
|
6
|
+
namespace :vlad do
|
7
|
+
##
|
8
|
+
# Thin app server
|
9
|
+
|
10
|
+
set :thin_address, "127.0.0.1"
|
11
|
+
set :thin_command, 'thin'
|
12
|
+
set(:thin_conf) { "#{shared_path}/thin_cluster.conf" }
|
13
|
+
set :thin_environment, "production"
|
14
|
+
set :thin_group, nil
|
15
|
+
set :thin_log_file, nil
|
16
|
+
set :thin_pid_file, nil
|
17
|
+
set :thin_port, nil
|
18
|
+
set :thin_socket, nil
|
19
|
+
set :thin_prefix, nil
|
20
|
+
set :thin_servers, 2
|
21
|
+
set :thin_user, nil
|
22
|
+
|
23
|
+
desc "Prepares application servers for deployment. thin
|
24
|
+
configuration is set via the thin_* variables.".cleanup
|
25
|
+
|
26
|
+
remote_task :setup_app, :roles => :app do
|
27
|
+
|
28
|
+
raise(ArgumentError, "Please provide either thin_socket or thin_port") if thin_port.nil? && thin_socket.nil?
|
29
|
+
|
30
|
+
cmd = [
|
31
|
+
"#{thin_command} config",
|
32
|
+
"-s #{thin_servers}",
|
33
|
+
("-S #{thin_socket}" if thin_socket),
|
34
|
+
"-e #{thin_environment}",
|
35
|
+
"-a #{thin_address}",
|
36
|
+
"-c #{current_path}",
|
37
|
+
"-C #{thin_conf}",
|
38
|
+
("-P #{thin_pid_file}" if thin_pid_file),
|
39
|
+
("-l #{thin_log_file}" if thin_log_file),
|
40
|
+
("--user #{thin_user}" if thin_user),
|
41
|
+
("--group #{thin_group}" if thin_group),
|
42
|
+
("--prefix #{thin_prefix}" if thin_prefix),
|
43
|
+
("-p #{thin_port}" if thin_port),
|
44
|
+
].compact.join ' '
|
45
|
+
|
46
|
+
run cmd
|
47
|
+
end
|
48
|
+
|
49
|
+
def thin(cmd) # :nodoc:
|
50
|
+
"#{thin_command} #{cmd} -C #{thin_conf}"
|
51
|
+
end
|
52
|
+
|
53
|
+
desc "Restart the app servers"
|
54
|
+
|
55
|
+
remote_task :start_app, :roles => :app do
|
56
|
+
run thin("restart -s #{thin_servers}")
|
57
|
+
end
|
58
|
+
|
59
|
+
desc "Stop the app servers"
|
60
|
+
|
61
|
+
remote_task :stop_app, :roles => :app do
|
62
|
+
run thin("stop -s #{thin_servers}")
|
63
|
+
end
|
64
|
+
end
|
data/lib/vlad/web.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'vlad'
|
2
|
+
|
3
|
+
namespace :vlad do
|
4
|
+
namespace :web do
|
5
|
+
remote_task :enable, :roles => [:web] do
|
6
|
+
run "if [ -f #{shared_path}/system/maintenance.html ]; then rm -f #{shared_path}/system/maintenance.html; fi"
|
7
|
+
end
|
8
|
+
remote_task :disable, :roles => [:web] do
|
9
|
+
run "cp -f #{shared_path}/config/maintenance.html #{shared_path}/system/"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/test/vlad_test_case.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: siefca-vlad
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0
|
4
|
+
version: 1.2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2009-02
|
14
|
+
date: 2009-03-02 00:00:00 -08:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
@@ -79,8 +79,11 @@ files:
|
|
79
79
|
- lib/vlad/lighttpd.rb
|
80
80
|
- lib/vlad/mercurial.rb
|
81
81
|
- lib/vlad/mongrel.rb
|
82
|
+
- lib/vlad/nginx.rb
|
82
83
|
- lib/vlad/perforce.rb
|
83
84
|
- lib/vlad/subversion.rb
|
85
|
+
- lib/vlad/thin.rb
|
86
|
+
- lib/vlad/web.rb
|
84
87
|
- test/test_rake_remote_task.rb
|
85
88
|
- test/test_vlad.rb
|
86
89
|
- test/test_vlad_git.rb
|