caploy 0.2.5 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/caploy.gemspec +6 -12
- data/lib/caploy/railtie.rb +13 -0
- data/lib/caploy/recipes/assets.rb +11 -19
- data/lib/caploy/recipes/database.rb +44 -47
- data/lib/caploy/recipes/deploy.rb +219 -0
- data/lib/caploy/recipes/info.rb +24 -28
- data/lib/caploy/recipes/memcache.rb +9 -13
- data/lib/caploy/recipes/nginx.rb +82 -86
- data/lib/caploy/recipes/paperclip.rb +7 -8
- data/lib/caploy/recipes/seeding.rb +3 -5
- data/lib/caploy/recipes/setup.rb +31 -35
- data/lib/caploy/recipes/taillog.rb +22 -0
- data/lib/caploy/recipes/unicorn.rb +109 -108
- data/lib/caploy/templates/unicorn/unicorn.rb.erb +2 -2
- data/lib/caploy/version.rb +1 -1
- data/lib/caploy.rb +16 -1
- metadata +34 -153
- data/lib/caploy/recipes/airbrake.rb +0 -4
- data/lib/caploy/recipes/bundler.rb +0 -25
- data/lib/caploy/recipes/defaults.rb +0 -132
- data/lib/caploy/recipes/monitoring.rb +0 -12
- data/lib/caploy/recipes/passenger.rb +0 -32
- data/lib/caploy/recipes/puma.rb +0 -25
- data/lib/caploy/recipes/rbenv.rb +0 -7
- data/lib/caploy/recipes/redis.rb +0 -41
- data/lib/caploy/recipes/rvm.rb +0 -8
- data/lib/caploy/recipes/symlink.rb +0 -24
- data/lib/caploy/recipes/unicorn_bluepill.rb +0 -90
- data/lib/caploy/recipes/whenever.rb +0 -8
- data/lib/caploy/templates/bluepill/init.erb +0 -9
- data/lib/caploy/templates/bluepill/unicorn_config.rb.erb +0 -43
metadata
CHANGED
@@ -1,193 +1,86 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.2.5
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Michael Schiller
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-10-04 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: gemcutter
|
16
|
-
type: :runtime
|
17
15
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - ! '>='
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '0'
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
16
|
requirements:
|
27
|
-
- -
|
17
|
+
- - '>='
|
28
18
|
- !ruby/object:Gem::Version
|
29
19
|
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: capistrano
|
32
20
|
type: :runtime
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
|
-
requirements:
|
36
|
-
- - ! '>='
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
version: 2.13.5
|
39
21
|
prerelease: false
|
40
22
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 2.13.5
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: capistrano-ext
|
48
|
-
type: :runtime
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
23
|
requirements:
|
52
|
-
- -
|
24
|
+
- - '>='
|
53
25
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.2.1
|
26
|
+
version: '0'
|
62
27
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
64
|
-
type: :runtime
|
28
|
+
name: capistrano-rails
|
65
29
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- - ! '>='
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 0.5.5
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
30
|
requirements:
|
75
|
-
- -
|
31
|
+
- - '='
|
76
32
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: capistrano-file_db
|
33
|
+
version: 1.1.1
|
80
34
|
type: :runtime
|
81
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
|
-
requirements:
|
84
|
-
- - ! '>='
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.1.0
|
87
35
|
prerelease: false
|
88
36
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
37
|
requirements:
|
91
|
-
- -
|
38
|
+
- - '='
|
92
39
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
40
|
+
version: 1.1.1
|
94
41
|
- !ruby/object:Gem::Dependency
|
95
|
-
name: capistrano-
|
96
|
-
type: :runtime
|
42
|
+
name: capistrano-bundler
|
97
43
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
|
-
requirements:
|
100
|
-
- - ! '>='
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 0.0.2
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
44
|
requirements:
|
107
|
-
- -
|
45
|
+
- - '='
|
108
46
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: capistrano-multiconfig
|
47
|
+
version: 1.1.3
|
112
48
|
type: :runtime
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- - ! '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.0.4
|
119
49
|
prerelease: false
|
120
50
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
51
|
requirements:
|
123
|
-
- -
|
52
|
+
- - '='
|
124
53
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
54
|
+
version: 1.1.3
|
126
55
|
- !ruby/object:Gem::Dependency
|
127
|
-
name: capistrano-
|
128
|
-
type: :runtime
|
56
|
+
name: capistrano-rbenv
|
129
57
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
58
|
requirements:
|
132
|
-
- -
|
59
|
+
- - '='
|
133
60
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 0.0.2
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: capistrano-calendar
|
61
|
+
version: 2.0.2
|
144
62
|
type: :runtime
|
145
|
-
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
|
-
requirements:
|
148
|
-
- - ! '>='
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: 0.1.2
|
151
63
|
prerelease: false
|
152
64
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
65
|
requirements:
|
155
|
-
- -
|
66
|
+
- - '='
|
156
67
|
- !ruby/object:Gem::Version
|
157
|
-
version: 0.
|
68
|
+
version: 2.0.2
|
158
69
|
- !ruby/object:Gem::Dependency
|
159
|
-
name:
|
160
|
-
type: :runtime
|
70
|
+
name: capistrano3-unicorn
|
161
71
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
|
-
requirements:
|
164
|
-
- - ! '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 1.2.7
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
72
|
requirements:
|
171
|
-
- -
|
73
|
+
- - '='
|
172
74
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: erubis
|
75
|
+
version: 0.2.1
|
176
76
|
type: :runtime
|
177
|
-
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
|
-
requirements:
|
180
|
-
- - ! '>='
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: '0'
|
183
77
|
prerelease: false
|
184
78
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
79
|
requirements:
|
187
|
-
- -
|
80
|
+
- - '='
|
188
81
|
- !ruby/object:Gem::Version
|
189
|
-
version:
|
190
|
-
description: capistrano deployment
|
82
|
+
version: 0.2.1
|
83
|
+
description: capistrano deployment helpling
|
191
84
|
email:
|
192
85
|
- michael.schiller@gmx.de
|
193
86
|
executables: []
|
@@ -200,30 +93,19 @@ files:
|
|
200
93
|
- Rakefile
|
201
94
|
- caploy.gemspec
|
202
95
|
- lib/caploy.rb
|
203
|
-
- lib/caploy/
|
96
|
+
- lib/caploy/railtie.rb
|
204
97
|
- lib/caploy/recipes/assets.rb
|
205
|
-
- lib/caploy/recipes/bundler.rb
|
206
98
|
- lib/caploy/recipes/database.rb
|
207
|
-
- lib/caploy/recipes/
|
99
|
+
- lib/caploy/recipes/deploy.rb
|
208
100
|
- lib/caploy/recipes/info.rb
|
209
101
|
- lib/caploy/recipes/memcache.rb
|
210
|
-
- lib/caploy/recipes/monitoring.rb
|
211
102
|
- lib/caploy/recipes/nginx.rb
|
212
103
|
- lib/caploy/recipes/paperclip.rb
|
213
|
-
- lib/caploy/recipes/passenger.rb
|
214
|
-
- lib/caploy/recipes/puma.rb
|
215
|
-
- lib/caploy/recipes/rbenv.rb
|
216
|
-
- lib/caploy/recipes/redis.rb
|
217
|
-
- lib/caploy/recipes/rvm.rb
|
218
104
|
- lib/caploy/recipes/seeding.rb
|
219
105
|
- lib/caploy/recipes/setup.rb
|
220
|
-
- lib/caploy/recipes/
|
106
|
+
- lib/caploy/recipes/taillog.rb
|
221
107
|
- lib/caploy/recipes/unicorn.rb
|
222
|
-
- lib/caploy/recipes/unicorn_bluepill.rb
|
223
|
-
- lib/caploy/recipes/whenever.rb
|
224
108
|
- lib/caploy/render.rb
|
225
|
-
- lib/caploy/templates/bluepill/init.erb
|
226
|
-
- lib/caploy/templates/bluepill/unicorn_config.rb.erb
|
227
109
|
- lib/caploy/templates/nginx/vhost.erb
|
228
110
|
- lib/caploy/templates/unicorn/unicorn.rb.erb
|
229
111
|
- lib/caploy/version.rb
|
@@ -233,27 +115,26 @@ files:
|
|
233
115
|
homepage: https://github.com/mschiller/caploy
|
234
116
|
licenses:
|
235
117
|
- MIT
|
118
|
+
metadata: {}
|
236
119
|
post_install_message:
|
237
120
|
rdoc_options: []
|
238
121
|
require_paths:
|
239
122
|
- lib
|
240
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
124
|
requirements:
|
243
|
-
- -
|
125
|
+
- - '>='
|
244
126
|
- !ruby/object:Gem::Version
|
245
127
|
version: '0'
|
246
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
|
-
none: false
|
248
129
|
requirements:
|
249
|
-
- -
|
130
|
+
- - '>='
|
250
131
|
- !ruby/object:Gem::Version
|
251
132
|
version: '0'
|
252
133
|
requirements: []
|
253
134
|
rubyforge_project:
|
254
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.0.14
|
255
136
|
signing_key:
|
256
|
-
specification_version:
|
137
|
+
specification_version: 4
|
257
138
|
summary: capistrano deployment tasks for different projects
|
258
139
|
test_files: []
|
259
140
|
has_rdoc:
|
@@ -1,25 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
# defaults
|
4
|
-
#_cset :bundle_gemfile, "Gemfile"
|
5
|
-
#_cset :bundle_dir, File.join(fetch(:shared_path), 'bundle')
|
6
|
-
#_cset :bundle_roles, #{role_default} # e.g. [:app, :batch]
|
7
|
-
#_cset :rake, "bundle --gemfile Gemfile.server exec rake"
|
8
|
-
_cset :bundle_cmd, "bundle"
|
9
|
-
_cset :bundle_without, [:development, :test, :deploy]
|
10
|
-
|
11
|
-
# http://shapeshed.com/journal/using-rbenv-to-manage-rubies/
|
12
|
-
# you can also apply a clever technique to allow you switch versions of ruby by pushing a new .rbenv-version file with capistrano. From version 1.1rc bundler allows you to specify a shebang for binstubs. To use this add the following to your capistrano recipe.
|
13
|
-
_cset :bundle_flags, "--deployment --quiet --binstubs --shebang ruby-local-exec"
|
14
|
-
_cset :rake, 'bundle exec rake'
|
15
|
-
|
16
|
-
require 'bundler/capistrano'
|
17
|
-
|
18
|
-
namespace :bundler do
|
19
|
-
task :install_gem do
|
20
|
-
run "cd #{release_path} && gem install bundler --no-ri --no-rdoc"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
#before "bundle:install", "bundler:install_gem"
|
25
|
-
end
|
@@ -1,132 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
require File.expand_path("#{File.dirname(__FILE__)}/../../util")
|
4
|
-
|
5
|
-
set :keep_releases, 10
|
6
|
-
set :use_sudo, false
|
7
|
-
|
8
|
-
set :nginx_protocol, :both
|
9
|
-
|
10
|
-
set :scm, :git
|
11
|
-
set :git_enable_submodules, false
|
12
|
-
|
13
|
-
# set deployment strategy
|
14
|
-
set :deploy_via, :remote_cache
|
15
|
-
set :copy_exclude, %w(.git .svn .DS_Store test doc .gitkeep)
|
16
|
-
#_cset :repository_cache, "cached-copy" # defaults to :shared_path + 'cached-copy/'
|
17
|
-
|
18
|
-
# :forward_agent allows us to avoid using and distributing a deploy key.
|
19
|
-
# On problems run 'ssh-add' locally
|
20
|
-
# In your /etc/ssh/ssh_config or ~/.ssh/config you need to have ForwardAgent enabled for this to work.
|
21
|
-
set :ssh_options, {:port => fetch(:ssh_port, 22), :forward_agent => true, :paranoid => true}
|
22
|
-
|
23
|
-
default_run_options[:pty] = true
|
24
|
-
|
25
|
-
# if you want to remove the dump file after loading
|
26
|
-
set :db_local_clean, true
|
27
|
-
|
28
|
-
namespace :deploy do
|
29
|
-
desc "deploy always with migrations"
|
30
|
-
task :default do
|
31
|
-
deploy.migrations
|
32
|
-
end
|
33
|
-
|
34
|
-
namespace :cache do
|
35
|
-
desc "Flush cache"
|
36
|
-
task :clear, :roles => :cache do
|
37
|
-
run "cd #{current_path} && #{rake} cache:clear RAILS_ENV=#{rails_env}"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
task :set_branch_info_file, :roles => :app do
|
42
|
-
run "cd #{release_path} && echo \"#{branch}\" > CURRENT_BRANCH"
|
43
|
-
end
|
44
|
-
|
45
|
-
task :set_staging_release_test_info_file, :roles => :app do
|
46
|
-
run "cd #{release_path} && echo \"#{branch}\" > RELEASE_TEST" if branch == 'master' and ENV['RELEASE_TEST']
|
47
|
-
end
|
48
|
-
|
49
|
-
desc "build missing paperclip styles"
|
50
|
-
task :build_missing_paperclip_styles, :roles => :app do
|
51
|
-
run "cd #{current_path}; RAILS_ENV=#{rails_env} #{rake} paperclip:refresh:missing_styles"
|
52
|
-
end
|
53
|
-
|
54
|
-
desc 'Show deployed revision'
|
55
|
-
task :revision, :roles => :app do
|
56
|
-
run "cat #{current_path}/REVISION"
|
57
|
-
end
|
58
|
-
|
59
|
-
after 'deploy:finalize_update', 'deploy:set_branch_info_file'
|
60
|
-
end
|
61
|
-
|
62
|
-
task :test_and_prepare_cap_env do
|
63
|
-
abort "You must set :user before using defaults" unless fetch(:user, nil)
|
64
|
-
abort "You must set :repository before using defaults" unless fetch(:repository, nil)
|
65
|
-
abort "You must set :branch before using defaults" unless fetch(:branch, nil)
|
66
|
-
abort "You must set :deploy_to before using defaults" unless fetch(:deploy_to, nil)
|
67
|
-
|
68
|
-
set :uptodate_branch, fetch(:branch)
|
69
|
-
set :uptodate_scm, :git
|
70
|
-
#:uptodate_scm_bynary ('git') - path to SCM binary
|
71
|
-
#:uptodate_remote_repository ('origin') - remote repository
|
72
|
-
#:uptodate_time (60) - time in seconds for checking remote repository
|
73
|
-
#:uptodate_behaviour - (:confirm)
|
74
|
-
# :confirm - show outdated message and ask to confirm the further execution
|
75
|
-
# :abort - show outdated message and abort further execution
|
76
|
-
require 'capistrano/uptodate'
|
77
|
-
|
78
|
-
require 'capistrano_colors'
|
79
|
-
capistrano_color_matchers = [
|
80
|
-
{:match => /command finished/, :color => :hide, :prio => 10},
|
81
|
-
{:match => /executing command/, :color => :blue, :prio => 10, :attribute => :underscore},
|
82
|
-
{:match => /^transaction: commit$/, :color => :magenta, :prio => 10, :attribute => :blink},
|
83
|
-
{:match => /git/, :color => :white, :prio => 20, :attribute => :reverse},
|
84
|
-
]
|
85
|
-
colorize(capistrano_color_matchers)
|
86
|
-
|
87
|
-
#Dynamically skip Capistrano hooks example
|
88
|
-
# before 'deploy:update_code', 'db:dump' unless fetch(:skip_dump, false)
|
89
|
-
# $ cap staging deploy -S skip_dump=true
|
90
|
-
end
|
91
|
-
|
92
|
-
before 'deploy', 'test_and_prepare_cap_env'
|
93
|
-
before 'deploy:migrations', 'test_and_prepare_cap_env'
|
94
|
-
after 'deploy:update', 'deploy:cleanup'
|
95
|
-
|
96
|
-
desc "Show currently deployed revision on server."
|
97
|
-
task :revisions, :roles => :app do
|
98
|
-
current, previous, latest = current_revision[0, 7], previous_revision[0, 7], real_revision[0, 7]
|
99
|
-
puts "\n" << "-"*63
|
100
|
-
puts "===== Master Revision: \033[1;33m#{latest}\033[0m\n\n"
|
101
|
-
puts "===== [ \033[1;36m#{application.capitalize} - #{stage.to_s.capitalize}\033[0m ]"
|
102
|
-
puts "=== Deployed Revision: \033[1;32m#{current}\033[0m"
|
103
|
-
puts "=== Previous Revision: \033[1;32m#{previous}\033[0m\n\n"
|
104
|
-
|
105
|
-
# If deployed and master are the same, show the difference between the last 2 deployments.
|
106
|
-
base_label, new_label, base_rev, new_rev = latest != current ? \
|
107
|
-
["deployed", "master", current, latest] : \
|
108
|
-
["previous", "deployed", previous, current]
|
109
|
-
|
110
|
-
# Fetch the difference between master and deployed revisions.
|
111
|
-
log_cmd = "#{source.log(previous, latest).gsub(/^git/, 'git --no-pager')} --oneline"
|
112
|
-
cfg = File.join(shared_path, strategy.configuration[:repository_cache] || "cached-copy")
|
113
|
-
|
114
|
-
diff = ''
|
115
|
-
run %Q{cd "#{cfg}" && #{log_cmd}} do |channel, stream, data|
|
116
|
-
diff = data
|
117
|
-
end
|
118
|
-
|
119
|
-
# Show difference between master and deployed revisions.
|
120
|
-
if diff != ""
|
121
|
-
# Colorize refs
|
122
|
-
diff.gsub!(/^([a-f0-9]+) /, "\033[1;32m\\1\033[0m - ")
|
123
|
-
diff = " " << diff.gsub("\n", "\n ") << "\n"
|
124
|
-
# Indent commit messages nicely, max 80 chars per line, line has to end with space.
|
125
|
-
diff = diff.split("\n").map { |l| l.scan(/.{1,80}/).join("\n"<<" "*14).gsub(/([^ ]*)\n {14}/m, "\n"<<" "*14<<"\\1") }.join("\n")
|
126
|
-
puts "=== Difference between #{base_label} revision and #{new_label} revision:\n\n"
|
127
|
-
puts diff
|
128
|
-
end
|
129
|
-
end
|
130
|
-
after "deploy", "revisions"
|
131
|
-
after "deploy:migrations", "revisions"
|
132
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
desc "tail production log files"
|
4
|
-
task :tail_logs, :roles => :app do
|
5
|
-
run "tail -f #{shared_path}/log/*.log" do |channel, stream, data|
|
6
|
-
trap("INT") { puts 'Interupted'; exit 0; }
|
7
|
-
puts # for an extra line break before the host name
|
8
|
-
puts "#{channel[:host]}: #{data}"
|
9
|
-
break if stream == :err
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
namespace :passenger do
|
4
|
-
desc "Restart Application"
|
5
|
-
task :restart do
|
6
|
-
run "touch #{current_path}/tmp/restart.txt"
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
namespace :deploy do
|
11
|
-
#desc "Archive images from public tree"
|
12
|
-
#task :archive_images do
|
13
|
-
# run "tar -c public/system > images.tar"
|
14
|
-
#end
|
15
|
-
#
|
16
|
-
#desc "Install images into deployed public tree"
|
17
|
-
#task :install_images do
|
18
|
-
# # scp images to server
|
19
|
-
# # untar images into public/
|
20
|
-
#end
|
21
|
-
|
22
|
-
task :restart do
|
23
|
-
passenger.restart
|
24
|
-
end
|
25
|
-
|
26
|
-
task :start do
|
27
|
-
end
|
28
|
-
|
29
|
-
task :stop do
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
data/lib/caploy/recipes/puma.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
_cset :puma_binary, "bundle exec puma"
|
4
|
-
_cset :pumactl_binary, "bundle exec pumactl"
|
5
|
-
_cset :puma_state, "tmp/puma_state"
|
6
|
-
_cset :puma_tcp_port, 9292
|
7
|
-
_cset :puma_control_tcp_port, puma_tcp_port.to_i + 1
|
8
|
-
_cset :puma_thread_pool, '0:16'
|
9
|
-
|
10
|
-
namespace :deploy do
|
11
|
-
task :start, :roles => :app, :except => { :no_release => true } do
|
12
|
-
set :puma_socket, fetch(:puma_socket, "unix:///tmp/sockets/#{application}_#{rails_env}.sock")
|
13
|
-
|
14
|
-
tcp = puma_tcp_port.nil? ? '' : "-b tcp://127.0.0.1:#{puma_tcp_port}"
|
15
|
-
run "cd #{current_path} && RAILS_ENV=#{rails_env} #{puma_binary} -t #{puma_thread_pool} -S #{puma_state} --control tcp://127.0.0.1:#{puma_control_tcp_port} -b #{puma_socket} #{tcp}" # --control-token xxx
|
16
|
-
end
|
17
|
-
task :stop, :roles => :app, :except => { :no_release => true } do
|
18
|
-
run "cd #{current_path} && RAILS_ENV=#{rails_env} #{pumactl_binary} -S #{puma_state} stop"
|
19
|
-
end
|
20
|
-
task :restart, :roles => :app, :except => { :no_release => true } do
|
21
|
-
run "cd #{current_path} && RAILS_ENV=#{rails_env} #{pumactl_binary} -S #{puma_state} restart"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
data/lib/caploy/recipes/rbenv.rb
DELETED
data/lib/caploy/recipes/redis.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
namespace :redis do
|
4
|
-
|
5
|
-
desc "Install redis"
|
6
|
-
task :install do
|
7
|
-
["#{sudo} rm -r /tmp/redis",
|
8
|
-
"#{sudo} rm /usr/local/bin/redis-*",
|
9
|
-
"git clone git://github.com/antirez/redis.git /tmp/redis",
|
10
|
-
"cd /tmp/redis && git pull",
|
11
|
-
"cd /tmp/redis && git checkout v2.0.4-stable",
|
12
|
-
"cd /tmp/redis && make clean",
|
13
|
-
"cd /tmp/redis && make",
|
14
|
-
"cd /tmp/redis && #{sudo} make install",
|
15
|
-
"#{sudo} cp /tmp/redis/redis.conf /etc/",
|
16
|
-
"#{sudo} sed -i 's/daemonize no/daemonize yes/' /etc/redis.conf",
|
17
|
-
"#{sudo} sed -i 's/# bind 127.0.0.1/bind 127.0.0.1/' /etc/redis.conf"
|
18
|
-
].each {|cmd| run cmd}
|
19
|
-
end
|
20
|
-
|
21
|
-
desc "Start the Redis server"
|
22
|
-
task :start do
|
23
|
-
run "redis-server /etc/redis.conf"
|
24
|
-
end
|
25
|
-
|
26
|
-
desc "Stop the Redis server"
|
27
|
-
task :stop do
|
28
|
-
run 'echo "SHUTDOWN" | nc localhost 6379'
|
29
|
-
#sudo 'kill `cat /var/run/redis.pid`'
|
30
|
-
end
|
31
|
-
|
32
|
-
desc "Restart the Redis server"
|
33
|
-
task :restart do
|
34
|
-
redis.stop
|
35
|
-
sleep(1)
|
36
|
-
redis.start
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
data/lib/caploy/recipes/rvm.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
abort "You must set :ruby_version before using defaults" unless fetch(:ruby_version)
|
3
|
-
|
4
|
-
#$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
|
5
|
-
require "rvm/capistrano"
|
6
|
-
set :rvm_ruby_string, fetch(:ruby_version)
|
7
|
-
set :rvm_type, :user
|
8
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
namespace :deploy do
|
4
|
-
desc <<-DESC
|
5
|
-
Symlink shared directories and files.
|
6
|
-
DESC
|
7
|
-
task :symlink_dependencies, :roles => :app, :except => {:no_release => true} do
|
8
|
-
shared_directories_to_link = fetch(:shared_directories_to_link, [])
|
9
|
-
directories_to_create = fetch(:directories_to_create, [])
|
10
|
-
files_to_delete = fetch(:files_to_delete, [])
|
11
|
-
files_to_link = fetch(:files_to_link, {})
|
12
|
-
chmods_to_set = fetch(:chmods_to_set, [])
|
13
|
-
|
14
|
-
directories_to_create.each { |directory| run "mkdir -p #{directory}" }
|
15
|
-
shared_directories_to_link.each { |source, target| run "ln -s #{source} #{target}" }
|
16
|
-
files_to_delete.each { |file| run "rm #{file}" }
|
17
|
-
files_to_link.each { |source, target| run "ln -s #{source} #{target}"}
|
18
|
-
chmods_to_set.each { |target, chmod| run "chmod #{chmod} #{target}" }
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
after 'deploy:finalize_update', 'deploy:symlink_dependencies'
|
23
|
-
|
24
|
-
end
|