caploy 0.2.5 → 1.0.0
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 +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
|