chrisrec 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest +9 -53
- data/README +14 -0
- data/Rakefile +1 -1
- data/chrisrec.gemspec +11 -12
- data/lib/chrisrec.rb +6 -11
- data/{lib → retired/lib}/backgroundrb/backgroundrb.rb +0 -0
- data/{lib → retired/lib}/gitosis/gitosis.rb +0 -0
- data/{lib → retired/lib}/memcached/memcached.rb +0 -0
- data/{lib → retired/lib}/starling/starling.rb +0 -0
- data/{lib → retired/lib}/workling/workling.rb +0 -0
- data/{pkg/chrisrec-0.1.2 → retired}/template/starling/monit.conf.erb +0 -0
- data/{pkg/chrisrec-0.1.2 → retired}/template/starling/starling-init-script.erb +0 -0
- data/{pkg/chrisrec-0.1.2 → retired}/template/workling/monit.conf.erb +0 -0
- data/{pkg/chrisrec-0.1.2 → retired}/template/workling/workling-init-script.erb +0 -0
- data/template/static/httpd-vhost-static.conf.erb +2 -2
- metadata +30 -100
- data/pkg/chrisrec-0.1.2/Manifest +0 -88
- data/pkg/chrisrec-0.1.2/README +0 -1
- data/pkg/chrisrec-0.1.2/Rakefile +0 -21
- data/pkg/chrisrec-0.1.2/chrisrec.gemspec +0 -30
- data/pkg/chrisrec-0.1.2/lib/backgroundrb/backgroundrb.rb +0 -22
- data/pkg/chrisrec-0.1.2/lib/chrisrec.rb +0 -14
- data/pkg/chrisrec-0.1.2/lib/console/console.rb +0 -19
- data/pkg/chrisrec-0.1.2/lib/daemon/daemon.rb +0 -134
- data/pkg/chrisrec-0.1.2/lib/gitosis/gitosis.rb +0 -131
- data/pkg/chrisrec-0.1.2/lib/jekyll/jekyll.rb +0 -87
- data/pkg/chrisrec-0.1.2/lib/memcached/memcached.rb +0 -140
- data/pkg/chrisrec-0.1.2/lib/munin/munin.rb +0 -135
- data/pkg/chrisrec-0.1.2/lib/mysql/mysql.rake +0 -95
- data/pkg/chrisrec-0.1.2/lib/mysql/mysql.rb +0 -51
- data/pkg/chrisrec-0.1.2/lib/rake/rake.rb +0 -19
- data/pkg/chrisrec-0.1.2/lib/rakecron/rakecron.rb +0 -35
- data/pkg/chrisrec-0.1.2/lib/starling/starling.rb +0 -124
- data/pkg/chrisrec-0.1.2/lib/static/static.rb +0 -80
- data/pkg/chrisrec-0.1.2/lib/tomcat/tomcat.rb +0 -202
- data/pkg/chrisrec-0.1.2/lib/workling/workling.rb +0 -72
- data/pkg/chrisrec-0.1.2/template/daemon/daemon-init-script.erb +0 -59
- data/pkg/chrisrec-0.1.2/template/daemon/monit.conf.erb +0 -4
- data/pkg/chrisrec-0.1.2/template/jekyll/httpd-vhost-jekyll.conf.erb +0 -16
- data/pkg/chrisrec-0.1.2/template/memcached/memcached-conf.erb +0 -1
- data/pkg/chrisrec-0.1.2/template/memcached/memcached.erb +0 -59
- data/pkg/chrisrec-0.1.2/template/memcached/monit.conf.erb +0 -8
- data/pkg/chrisrec-0.1.2/template/memcached/start-memcached.erb +0 -118
- data/pkg/chrisrec-0.1.2/template/munin/httpd-vhost-munin.conf.erb +0 -20
- data/pkg/chrisrec-0.1.2/template/munin/munin.conf.erb +0 -70
- data/pkg/chrisrec-0.1.2/template/munin/munin_nginx_vhost.conf.erb +0 -24
- data/pkg/chrisrec-0.1.2/template/rakecron/rakecron.erb +0 -12
- data/pkg/chrisrec-0.1.2/template/static/httpd-vhost-static.conf.erb +0 -16
- data/pkg/chrisrec-0.1.2/template/tomcat/conf/server.xml.erb +0 -33
- data/pkg/chrisrec-0.1.2/template/tomcat/conf/web.xml +0 -1194
- data/pkg/chrisrec-0.1.2/template/tomcat/logs/empty.txt +0 -1
- data/pkg/chrisrec-0.1.2/template/tomcat/monit.conf.erb +0 -8
- data/pkg/chrisrec-0.1.2/template/tomcat/temp/empty.txt +0 -1
- data/pkg/chrisrec-0.1.2/template/tomcat/tomcat.erb +0 -28
- data/pkg/chrisrec-0.1.2/template/tomcat/webapps/empty.txt +0 -1
- data/pkg/chrisrec-0.1.2/template/tomcat/work/empty.txt +0 -1
- data/template/starling/monit.conf.erb +0 -14
- data/template/starling/starling-init-script.erb +0 -69
- data/template/workling/monit.conf.erb +0 -4
- data/template/workling/workling-init-script.erb +0 -56
@@ -1,124 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
-
namespace :chrisrec do
|
3
|
-
namespace :starling do
|
4
|
-
|
5
|
-
set :starling_port, 15151
|
6
|
-
set :starling_address, "127.0.0.1"
|
7
|
-
set :starling_user, "starling"
|
8
|
-
set :starling_group, "starling"
|
9
|
-
set :starling_spool_dir, "/var/spool/starling"
|
10
|
-
set :starling_run_dir, "/var/run"
|
11
|
-
set :starling_log_dir, "/var/log"
|
12
|
-
|
13
|
-
set :local_template_dir, "#{File.dirname(__FILE__)}/../../template"
|
14
|
-
|
15
|
-
# Installation
|
16
|
-
desc "Installs the Starling gem"
|
17
|
-
task :install, :roles => :cache do
|
18
|
-
sudo("gem install eventmachine --no-rdoc --no-ri")
|
19
|
-
sudo("gem install starling-starling --source http://gems.github.com -v 0.9.9 --no-rdoc --no-ri")
|
20
|
-
|
21
|
-
deprec2.mkdir(starling_spool_dir, :via => :sudo)
|
22
|
-
# deprec2.mkdir(starling_run_dir, :via => :sudo)
|
23
|
-
# deprec2.mkdir(starling_log_dir, :via => :sudo)
|
24
|
-
|
25
|
-
create_starling_user_and_group
|
26
|
-
set_perms_for_starling_dirs
|
27
|
-
symlink_starling_for_rubyee if ruby_vm_type == :ree
|
28
|
-
end
|
29
|
-
|
30
|
-
# Configure
|
31
|
-
|
32
|
-
SYSTEM_CONFIG_FILES[:starling] = [
|
33
|
-
{:template => 'starling-init-script.erb',
|
34
|
-
:path => 'starling/etc/init.d/starling',
|
35
|
-
:mode => 0755,
|
36
|
-
:owner => 'root:root'},
|
37
|
-
|
38
|
-
{:template => 'monit.conf.erb',
|
39
|
-
:path => "starling/etc/monit.d/monit_starling.conf",
|
40
|
-
:mode => 0600,
|
41
|
-
:owner => 'root:root'}
|
42
|
-
]
|
43
|
-
|
44
|
-
# Generating Configuration Files
|
45
|
-
desc "Generate configuration file(s) for Starling from template(s)"
|
46
|
-
task :config_gen do
|
47
|
-
SYSTEM_CONFIG_FILES[:starling].each do |file|
|
48
|
-
deprec2.render_template(:starling, file)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
desc 'Deploy configuration files(s) for Starling'
|
53
|
-
task :config, :roles => :cache do
|
54
|
-
deprec2.push_configs(:starling, SYSTEM_CONFIG_FILES[:starling])
|
55
|
-
symlink_init_d
|
56
|
-
symlink_monit_d
|
57
|
-
|
58
|
-
activate
|
59
|
-
end
|
60
|
-
|
61
|
-
desc "Stop starling"
|
62
|
-
task :stop , :roles => :cache do
|
63
|
-
sudo "/etc/init.d/starling_#{starling_port} stop"
|
64
|
-
end
|
65
|
-
|
66
|
-
desc "Start starling"
|
67
|
-
task :start , :roles => :cache do
|
68
|
-
sudo "/etc/init.d/starling_#{starling_port} start"
|
69
|
-
end
|
70
|
-
|
71
|
-
desc "Start the starling server"
|
72
|
-
task :restart, :roles => :cache do
|
73
|
-
stop
|
74
|
-
sleep(2)
|
75
|
-
start
|
76
|
-
end
|
77
|
-
|
78
|
-
task :activate, :roles => :cache do
|
79
|
-
send(run_method, "update-rc.d starling_#{starling_port} defaults")
|
80
|
-
end
|
81
|
-
|
82
|
-
task :deactivate, :roles => :cache do
|
83
|
-
send(run_method, "update-rc.d -f starling_#{starling_port} remove")
|
84
|
-
end
|
85
|
-
|
86
|
-
# User/Group creation & permission assignment
|
87
|
-
# These were based off the tasks used in the mongrel recipe -
|
88
|
-
# as this was probably the nicest way to ensure these tasks
|
89
|
-
# were doing the right thing.
|
90
|
-
desc "create user and group for starling to run as"
|
91
|
-
task :create_starling_user_and_group, :roles => :cache do
|
92
|
-
deprec2.groupadd(starling_group)
|
93
|
-
deprec2.useradd(starling_user, :group => starling_group, :homedir => false)
|
94
|
-
# Set the primary group for the starling user (in case user already existed
|
95
|
-
# when previous command was run)
|
96
|
-
sudo "usermod --gid #{starling_group} #{starling_user}"
|
97
|
-
end
|
98
|
-
|
99
|
-
desc "set group ownership and permissions on dirs starling needs to write to"
|
100
|
-
task :set_perms_for_starling_dirs, :roles => :cache do
|
101
|
-
sudo "chgrp -R #{starling_group} #{starling_spool_dir}"
|
102
|
-
sudo "chmod -R g+w #{starling_spool_dir}"
|
103
|
-
# sudo "chgrp -R #{starling_group} #{starling_run_dir} #{starling_log_dir}"
|
104
|
-
# sudo "chmod -R g+w #{starling_run_dir} #{starling_log_dir}"
|
105
|
-
end
|
106
|
-
|
107
|
-
task :symlink_starling_for_rubyee, :roles => :cache do
|
108
|
-
# This ensures we symlink from the REE common directory, NOT the
|
109
|
-
# actual REE install directory (so when we change the REE version,
|
110
|
-
# we don't have to fuddle around again).
|
111
|
-
sudo "ln -fs #{ree_short_path}/bin/starling /usr/local/bin/starling"
|
112
|
-
end
|
113
|
-
|
114
|
-
task :symlink_init_d, :roles => :cache do
|
115
|
-
sudo "ln -fs #{deploy_to}/starling/starling/etc/init.d/starling /etc/init.d/starling_#{starling_port}"
|
116
|
-
end
|
117
|
-
|
118
|
-
task :symlink_monit_d, :roles => :cache do
|
119
|
-
sudo "ln -fs #{deploy_to}/starling/starling/etc/monit.d/monit_starling.conf /etc/monit.d/monit_starling_#{starling_port}.conf"
|
120
|
-
end
|
121
|
-
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
-
namespace :chrisrec do
|
3
|
-
namespace :static do
|
4
|
-
|
5
|
-
set :local_template_dir, "#{File.dirname(__FILE__)}/../../template"
|
6
|
-
|
7
|
-
desc "Install static site"
|
8
|
-
task :install, :roles => :app do
|
9
|
-
top.deprec.rails.setup_user_perms
|
10
|
-
top.deprec.rails.create_app_user_and_group
|
11
|
-
top.deprec.rails.setup_paths
|
12
|
-
top.deprec.rails.setup_shared_dirs
|
13
|
-
|
14
|
-
top.chrisrec.static.deploy.setup
|
15
|
-
end
|
16
|
-
|
17
|
-
PROJECT_CONFIG_FILES[:static] = [
|
18
|
-
|
19
|
-
{:template => "httpd-vhost-static.conf.erb",
|
20
|
-
:path => 'conf/httpd-vhost-static.conf',
|
21
|
-
:mode => 0755,
|
22
|
-
:owner => 'root:root'}
|
23
|
-
]
|
24
|
-
|
25
|
-
|
26
|
-
desc "Generate configuration file(s) for static site from template(s)"
|
27
|
-
task :config_gen do
|
28
|
-
PROJECT_CONFIG_FILES[:static].each do |file|
|
29
|
-
deprec2.render_template(:static, file)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
desc 'Deploy configuration files(s) for static site'
|
34
|
-
task :config, :roles => :web do
|
35
|
-
deprec2.push_configs(:static, PROJECT_CONFIG_FILES[:static])
|
36
|
-
symlink_apache_vhost
|
37
|
-
|
38
|
-
top.deprec.apache.restart
|
39
|
-
end
|
40
|
-
|
41
|
-
task :symlink_apache_vhost, :roles => :web do
|
42
|
-
sudo "ln -sf #{deploy_to}/static/conf/httpd-vhost-static.conf /etc/apache2/sites-available/#{application}"
|
43
|
-
sudo "ln -sf #{deploy_to}/static/conf/httpd-vhost-static.conf /etc/apache2/sites-enabled/#{application}"
|
44
|
-
end
|
45
|
-
|
46
|
-
namespace :deploy do
|
47
|
-
desc 'deploy'
|
48
|
-
task :default do
|
49
|
-
strategy.deploy!
|
50
|
-
|
51
|
-
run "rm -f #{current_path} && ln -s #{latest_release}/www #{current_path}"
|
52
|
-
|
53
|
-
top.deprec.apache.restart
|
54
|
-
end
|
55
|
-
|
56
|
-
desc 'setup'
|
57
|
-
task :setup do
|
58
|
-
dirs = [deploy_to, releases_path]
|
59
|
-
sudo "mkdir -p #{dirs.join(' ')}"
|
60
|
-
sudo "chgrp -R #{group} #{dirs.join(' ')}"
|
61
|
-
sudo "chmod g+w #{dirs.join(' ')}"
|
62
|
-
end
|
63
|
-
|
64
|
-
desc 'rollback'
|
65
|
-
task :rollback do
|
66
|
-
if previous_release
|
67
|
-
run "rm #{current_path}; ln -s #{previous_release} #{current_path}"
|
68
|
-
else
|
69
|
-
abort "could not rollback the code because there is no prior release"
|
70
|
-
end
|
71
|
-
|
72
|
-
run "if [ `readlink #{current_path}` != #{current_release} ]; then rm -rf #{current_release}; fi"
|
73
|
-
|
74
|
-
top.deprec.apache.restart
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
@@ -1,202 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
-
namespace :chrisrec do
|
3
|
-
namespace :tomcat do
|
4
|
-
|
5
|
-
set :maven_env, "production"
|
6
|
-
set :tomcat_war, "MyAppName"
|
7
|
-
|
8
|
-
set :tomcat_address, '127.0.0.1'
|
9
|
-
set :tomcat_port, 8080
|
10
|
-
set :tomcat_shutdown_port, 8009
|
11
|
-
set :tomcat_ssl_port, 8443
|
12
|
-
|
13
|
-
set :local_template_dir, "#{File.dirname(__FILE__)}/../../template"
|
14
|
-
|
15
|
-
desc "Install tomcat"
|
16
|
-
task :install, :roles => :app do
|
17
|
-
version = 'apache-tomcat-6.0.20'
|
18
|
-
set :src_package, {
|
19
|
-
:file => version + '.tar.gz',
|
20
|
-
# :md5sum => 'a08851f7fa7b15e92ee6320b7a79c321 tomcat-1.2.2.tar.gz',
|
21
|
-
:dir => version,
|
22
|
-
:url => "http://apache.16degrees.com.au/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz",
|
23
|
-
:unpack => "tar zxf #{version}.tar.gz;"
|
24
|
-
}
|
25
|
-
|
26
|
-
deprec2.download_src(src_package, src_dir)
|
27
|
-
deprec2.unpack_src(src_package, src_dir)
|
28
|
-
|
29
|
-
sudo "sudo mv #{src_dir}/#{version} /usr/local/tomcat"
|
30
|
-
|
31
|
-
install_java
|
32
|
-
end
|
33
|
-
|
34
|
-
task :install_java do
|
35
|
-
# puts "sudo vi /etc/apt/sources.list"
|
36
|
-
sudo "chmod 666 /etc/apt/sources.list"
|
37
|
-
sudo "grep 'multiverse$' /etc/apt/sources.list || sudo echo \"\"\n\"deb http://archive.ubuntu.com/ubuntu/ intrepid multiverse\" >> /etc/apt/sources.list"
|
38
|
-
sudo "chmod 644 /etc/apt/sources.list"
|
39
|
-
|
40
|
-
apt.update
|
41
|
-
apt.install( {:base => %w(maven2)}, :stable )
|
42
|
-
|
43
|
-
top.chrisrec.tomcat.deploy.setup
|
44
|
-
|
45
|
-
puts "*******************"
|
46
|
-
puts "*******************"
|
47
|
-
puts "******************* cannot automate the sun java install"
|
48
|
-
puts "******************* run : sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk"
|
49
|
-
puts "*******************"
|
50
|
-
puts "*******************"
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
# Configure
|
55
|
-
SYSTEM_CONFIG_FILES[:tomcat] = [
|
56
|
-
{:template => 'tomcat.erb',
|
57
|
-
:path => 'tomcat/etc/init.d/tomcat',
|
58
|
-
:mode => 0755,
|
59
|
-
:owner => 'root:root'},
|
60
|
-
|
61
|
-
{:template => 'monit.conf.erb',
|
62
|
-
:path => "tomcat/etc/monit.d/monit_tomcat.conf",
|
63
|
-
:mode => 0600,
|
64
|
-
:owner => 'root:root'},
|
65
|
-
|
66
|
-
{:template => 'conf/server.xml.erb',
|
67
|
-
:path => "conf/server.xml",
|
68
|
-
:mode => 0644,
|
69
|
-
:owner => 'root:root'},
|
70
|
-
|
71
|
-
{:template => 'conf/web.xml',
|
72
|
-
:path => "conf/web.xml",
|
73
|
-
:mode => 0644,
|
74
|
-
:owner => 'root:root'},
|
75
|
-
|
76
|
-
{:template => 'temp/empty.txt',
|
77
|
-
:path => "temp/empty.txt",
|
78
|
-
:mode => 0644,
|
79
|
-
:owner => 'root:root'},
|
80
|
-
|
81
|
-
{:template => 'logs/empty.txt',
|
82
|
-
:path => "logs/empty.txt",
|
83
|
-
:mode => 0644,
|
84
|
-
:owner => 'root:root'},
|
85
|
-
|
86
|
-
{:template => 'webapps/empty.txt',
|
87
|
-
:path => "webapps/empty.txt",
|
88
|
-
:mode => 0644,
|
89
|
-
:owner => 'root:root'},
|
90
|
-
|
91
|
-
{:template => 'work/empty.txt',
|
92
|
-
:path => "work/empty.txt",
|
93
|
-
:mode => 0644,
|
94
|
-
:owner => 'root:root'}
|
95
|
-
]
|
96
|
-
|
97
|
-
# Generating Configuration Files
|
98
|
-
desc "Generate configuration file(s) for tomcat from template(s)"
|
99
|
-
task :config_gen do
|
100
|
-
SYSTEM_CONFIG_FILES[:tomcat].each do |file|
|
101
|
-
deprec2.render_template(:tomcat, file)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
desc 'Deploy configuration files(s) for tomcat'
|
106
|
-
task :config, :roles => :app do
|
107
|
-
|
108
|
-
deprec2.push_configs(:tomcat, SYSTEM_CONFIG_FILES[:tomcat])
|
109
|
-
symlink_init_d
|
110
|
-
symlink_monit_d
|
111
|
-
|
112
|
-
activate
|
113
|
-
end
|
114
|
-
|
115
|
-
desc "Stop tomcat"
|
116
|
-
task :stop , :roles => :app do
|
117
|
-
sudo "/etc/init.d/tomcat_#{tomcat_port} stop"
|
118
|
-
end
|
119
|
-
|
120
|
-
desc "Start tomcat"
|
121
|
-
task :start , :roles => :app do
|
122
|
-
sudo "/etc/init.d/tomcat_#{tomcat_port} start"
|
123
|
-
end
|
124
|
-
|
125
|
-
desc "Start the tomcat server"
|
126
|
-
task :restart, :roles => :app do
|
127
|
-
stop
|
128
|
-
sleep(2)
|
129
|
-
start
|
130
|
-
end
|
131
|
-
|
132
|
-
task :activate, :roles => :app do
|
133
|
-
send(run_method, "update-rc.d tomcat_#{tomcat_port} defaults")
|
134
|
-
end
|
135
|
-
|
136
|
-
task :deactivate, :roles => :app do
|
137
|
-
send(run_method, "update-rc.d -f tomcat_#{tomcat_port} remove")
|
138
|
-
end
|
139
|
-
|
140
|
-
task :symlink_init_d, :roles => :app do
|
141
|
-
sudo "ln -fs #{deploy_to}/tomcat/tomcat/etc/init.d/tomcat /etc/init.d/tomcat_#{tomcat_port}"
|
142
|
-
end
|
143
|
-
|
144
|
-
task :symlink_monit_d, :roles => :app do
|
145
|
-
sudo "ln -fs #{deploy_to}/tomcat/tomcat/etc/monit.d/monit_tomcat.conf /etc/monit.d/monit_tomcat_#{tomcat_port}.conf"
|
146
|
-
end
|
147
|
-
|
148
|
-
namespace :deploy do
|
149
|
-
desc 'deploy'
|
150
|
-
task :default do
|
151
|
-
strategy.deploy!
|
152
|
-
|
153
|
-
top.chrisrec.tomcat.stop
|
154
|
-
|
155
|
-
run "rm -f #{current_path} && ln -s #{latest_release} #{current_path}"
|
156
|
-
if dependent_projects
|
157
|
-
dependent_projects.each do | project |
|
158
|
-
name = project.scan(/:(.*)/).flatten.to_s
|
159
|
-
run "git clone #{project} #{current_path}/#{name}"
|
160
|
-
run "cd #{current_path}/#{name} && mvn clean -P #{maven_env}"
|
161
|
-
run "cd #{current_path}/#{name} && mvn compile -P #{maven_env}"
|
162
|
-
run "cd #{current_path}/#{name} && mvn install -P #{maven_env}"
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
run "cd #{current_path} && mvn clean -P #{maven_env}"
|
167
|
-
run "cd #{current_path} && mvn compile -P #{maven_env}"
|
168
|
-
run "cd #{current_path} && mvn package -P #{maven_env}"
|
169
|
-
|
170
|
-
sudo "rm -f #{deploy_to}/tomcat/webapps/#{tomcat_war}.war"
|
171
|
-
sudo "rm -rf #{deploy_to}/tomcat/webapps/#{tomcat_war}"
|
172
|
-
|
173
|
-
sudo "cp #{current_path}/target/#{tomcat_war}.war #{deploy_to}/tomcat/webapps"
|
174
|
-
|
175
|
-
top.chrisrec.tomcat.start
|
176
|
-
end
|
177
|
-
|
178
|
-
desc 'setup'
|
179
|
-
task :setup do
|
180
|
-
dirs = [deploy_to, releases_path]
|
181
|
-
sudo "mkdir -p #{dirs.join(' ')}"
|
182
|
-
sudo "chgrp -R #{group} #{dirs.join(' ')}"
|
183
|
-
sudo "chmod g+w #{dirs.join(' ')}"
|
184
|
-
end
|
185
|
-
|
186
|
-
desc 'rollback'
|
187
|
-
task :rollback do
|
188
|
-
if previous_release
|
189
|
-
run "rm #{current_path}; ln -s #{previous_release} #{current_path}"
|
190
|
-
else
|
191
|
-
abort "could not rollback the code because there is no prior release"
|
192
|
-
end
|
193
|
-
|
194
|
-
run "if [ `readlink #{current_path}` != #{current_release} ]; then rm -rf #{current_release}; fi"
|
195
|
-
|
196
|
-
top.chrisrec.tomcat.restart
|
197
|
-
end
|
198
|
-
end
|
199
|
-
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|
@@ -1,72 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
-
namespace :chrisrec do
|
3
|
-
namespace :workling do
|
4
|
-
|
5
|
-
set :local_template_dir, "#{File.dirname(__FILE__)}/../../template"
|
6
|
-
|
7
|
-
SYSTEM_CONFIG_FILES[:workling] = [
|
8
|
-
{:template => 'workling-init-script.erb',
|
9
|
-
:path => 'workling/etc/init.d/workling',
|
10
|
-
:mode => 0755,
|
11
|
-
:owner => 'root:root'},
|
12
|
-
|
13
|
-
{:template => 'monit.conf.erb',
|
14
|
-
:path => "workling/etc/monit.d/monit_workling.conf",
|
15
|
-
:mode => 0600,
|
16
|
-
:owner => 'root:root'}
|
17
|
-
]
|
18
|
-
|
19
|
-
# Generating Configuration Files
|
20
|
-
desc "Generate configuration file(s) for workling from template(s)"
|
21
|
-
task :config_gen do
|
22
|
-
SYSTEM_CONFIG_FILES[:workling].each do |file|
|
23
|
-
deprec2.render_template(:workling, file)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'Deploy configuration files(s) for workling'
|
28
|
-
task :config, :roles => :app do
|
29
|
-
deprec2.push_configs(:workling, SYSTEM_CONFIG_FILES[:workling])
|
30
|
-
symlink_init_d
|
31
|
-
symlink_monit_d
|
32
|
-
|
33
|
-
activate
|
34
|
-
end
|
35
|
-
|
36
|
-
desc "Stop workling"
|
37
|
-
task :stop , :roles => :app do
|
38
|
-
sudo "/etc/init.d/workling_#{starling_port} stop"
|
39
|
-
end
|
40
|
-
|
41
|
-
desc "Start workling"
|
42
|
-
task :start , :roles => :app do
|
43
|
-
sudo "/etc/init.d/workling_#{starling_port} start"
|
44
|
-
end
|
45
|
-
|
46
|
-
desc "Start the workling server"
|
47
|
-
task :restart, :roles => :app do
|
48
|
-
stop
|
49
|
-
sleep(2)
|
50
|
-
start
|
51
|
-
end
|
52
|
-
|
53
|
-
task :activate, :roles => :app do
|
54
|
-
send(run_method, "update-rc.d workling_#{starling_port} defaults")
|
55
|
-
end
|
56
|
-
|
57
|
-
task :deactivate, :roles => :app do
|
58
|
-
send(run_method, "update-rc.d -f workling_#{starling_port} remove")
|
59
|
-
end
|
60
|
-
|
61
|
-
|
62
|
-
task :symlink_init_d do
|
63
|
-
sudo "ln -fs #{deploy_to}/workling/workling/etc/init.d/workling /etc/init.d/workling_#{starling_port}"
|
64
|
-
end
|
65
|
-
|
66
|
-
task :symlink_monit_d do
|
67
|
-
sudo "ln -fs #{deploy_to}/workling/workling/etc/monit.d/monit_workling.conf /etc/monit.d/monit_workling_#{starling_port}.conf"
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|