capistrano-exts 1.8.1 → 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +688 -0
- data/README.md +137 -23
- data/capistrano-exts.gemspec +7 -2
- data/lib/capistrano-exts/receipts/contao.rb +21 -16
- data/lib/capistrano-exts/receipts/contents.rb +1 -4
- data/lib/capistrano-exts/receipts/functions.rb +14 -1
- data/lib/capistrano-exts/receipts/multistage.rb +38 -9
- data/lib/capistrano-exts/receipts/mysql.rb +1 -4
- data/lib/capistrano-exts/version.rb +2 -2
- metadata +29 -18
data/ChangeLog
ADDED
@@ -0,0 +1,688 @@
|
|
1
|
+
2011-09-12 Wael Nasreddine <wael.nasreddine@gmail.com>
|
2
|
+
|
3
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Typo in the function name
|
4
|
+
|
5
|
+
* lib/capistrano-exts/receipts/functions.rb: MISC: The options hash should
|
6
|
+
not be mandatory.
|
7
|
+
|
8
|
+
2011-09-08 Wael Nasreddine <wael.nasreddine@gmail.com>
|
9
|
+
|
10
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Do not overwrite the
|
11
|
+
generated localconfig.php.
|
12
|
+
|
13
|
+
* README.md: MISC: Add a require false which is required for rails.
|
14
|
+
|
15
|
+
* README.md, lib/capistrano-exts/version.rb: MISC: Bump to version 1.8.1.
|
16
|
+
|
17
|
+
* lib/capistrano-exts/receipts/servers.rb: MISC: Typo in the task name.
|
18
|
+
|
19
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.8.0
|
20
|
+
|
21
|
+
2011-09-07 Wael Nasreddine <wael.nasreddine@gmail.com>
|
22
|
+
|
23
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: Refactor the *_credentials and
|
24
|
+
*_root_credentials to one iteration.
|
25
|
+
|
26
|
+
* lib/capistrano-exts/receipts/functions.rb,
|
27
|
+
lib/capistrano-exts/receipts/git.rb, lib/capistrano-exts/receipts/mysql.rb,
|
28
|
+
lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Refactor the
|
29
|
+
capture(cat..) to read(..).
|
30
|
+
|
31
|
+
* lib/capistrano-exts/receipts/mysql.rb: Do not run the task
|
32
|
+
print_credentials (and for root) if it is already in the ARGV (it will be
|
33
|
+
executed twice. closes #3 @5m
|
34
|
+
|
35
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.7.0
|
36
|
+
|
37
|
+
* lib/capistrano-exts/receipts/multistage.rb: MISC: Add a task that will
|
38
|
+
synchronise any stage with any other stage with confirmation of course.
|
39
|
+
|
40
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.6.0
|
41
|
+
|
42
|
+
* examples/php_fpm/deploy/development.rb,
|
43
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
44
|
+
examples/rails_passenger/deploy/development.rb,
|
45
|
+
examples/rails_passenger/deploy/production.rb,
|
46
|
+
examples/rails_passenger/deploy/staging.rb,
|
47
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
48
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
49
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
50
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
51
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Add a new config param to
|
52
|
+
setup the backups path.
|
53
|
+
|
54
|
+
* lib/capistrano-exts/receipts/functions.rb: MISC: Using data.present? breaks
|
55
|
+
if data are binary.
|
56
|
+
|
57
|
+
* lib/capistrano-exts/receipts/deploy.rb,
|
58
|
+
lib/capistrano-exts/receipts/servers.rb: MISC: Add a task deploy:folders and
|
59
|
+
use it in deploy:setup:server:folders and after deploy:setup as well, this
|
60
|
+
will ensure folders are available in shared hosts.
|
61
|
+
|
62
|
+
* lib/capistrano-exts/receipts/contents.rb: MISC: Add a task to import the
|
63
|
+
contents folder.
|
64
|
+
|
65
|
+
* lib/capistrano-exts/receipts/contents.rb: MISC: Add a task to back the
|
66
|
+
contents folder before exporting them and use the backup file to export the
|
67
|
+
contents.
|
68
|
+
|
69
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Replace the DB_HOST in the
|
70
|
+
localconfig as well.
|
71
|
+
|
72
|
+
* examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
73
|
+
examples/rails_passenger/deploy/development.rb,
|
74
|
+
examples/rails_passenger/deploy/production.rb,
|
75
|
+
examples/rails_passenger/deploy/staging.rb,
|
76
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
77
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
78
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
79
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Remove a misleadin comment
|
80
|
+
in the config file.
|
81
|
+
|
82
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.5.1
|
83
|
+
|
84
|
+
* examples/php_fpm/deploy/development.rb,
|
85
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
86
|
+
examples/rails_passenger/deploy/development.rb,
|
87
|
+
examples/rails_passenger/deploy/production.rb,
|
88
|
+
examples/rails_passenger/deploy/staging.rb,
|
89
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
90
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
91
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
92
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
93
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: We should be able to
|
94
|
+
specify the username and the hostname of the database, we should not parse
|
95
|
+
the db role because it should be SSHable, it can't be on a shared hosting.
|
96
|
+
|
97
|
+
* lib/capistrano-exts/receipts/contents.rb: MISC: Add the h option to the tar
|
98
|
+
command, this will replace symlinks with regular files.
|
99
|
+
|
100
|
+
* lib/capistrano-exts/receipts/git.rb: Rename deploy to git
|
101
|
+
|
102
|
+
* lib/capistrano-exts/receipts/deploy.rb: MISC: Move more default public
|
103
|
+
folder out of the way.
|
104
|
+
|
105
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.5.0
|
106
|
+
|
107
|
+
* lib/capistrano-exts/receipts/contents.rb,
|
108
|
+
lib/capistrano-exts/receipts/deploy.rb,
|
109
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
110
|
+
lib/capistrano-exts/receipts/servers.rb: MISC: Add a task to send the ssh key
|
111
|
+
and another to move the htdocs folder if it does indeed exist.
|
112
|
+
|
113
|
+
2011-09-06 Wael Nasreddine <wael.nasreddine@gmail.com>
|
114
|
+
|
115
|
+
* lib/capistrano-exts/receipts/contents.rb,
|
116
|
+
lib/capistrano-exts/receipts/mysql.rb: MISC: Export file name should not be
|
117
|
+
mandatory.'
|
118
|
+
|
119
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.4.0
|
120
|
+
|
121
|
+
* lib/capistrano-exts/receipts/functions.rb: MISC: Add the millisecond to the
|
122
|
+
generated file name, to prevent any race condition that might arise.
|
123
|
+
|
124
|
+
* README.md, examples/php_fpm/deploy/development.rb,
|
125
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
126
|
+
examples/rails_passenger/deploy/development.rb,
|
127
|
+
examples/rails_passenger/deploy/production.rb,
|
128
|
+
examples/rails_passenger/deploy/staging.rb,
|
129
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
130
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
131
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
132
|
+
lib/capistrano-exts/receipts/contao.rb,
|
133
|
+
lib/capistrano-exts/receipts/contents.rb,
|
134
|
+
lib/capistrano-exts/receipts/deploy.rb,
|
135
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Add a contents receipt to
|
136
|
+
import/export contents.
|
137
|
+
|
138
|
+
* README.md, examples/php_fpm/deploy/development.rb,
|
139
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
140
|
+
examples/rails_passenger/deploy/development.rb,
|
141
|
+
examples/rails_passenger/deploy/production.rb,
|
142
|
+
examples/rails_passenger/deploy/staging.rb,
|
143
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
144
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
145
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
146
|
+
lib/capistrano-exts/receipts/multistage.rb,
|
147
|
+
lib/capistrano-exts/receipts/servers.rb,
|
148
|
+
lib/capistrano-exts/receipts/servers/db_server.rb,
|
149
|
+
lib/capistrano-exts/receipts/servers/web_server.rb,
|
150
|
+
lib/capistrano-exts/templates/multistage.rb: Rename all :prepare tasks to
|
151
|
+
:setup which is a more appropriate name @10m
|
152
|
+
|
153
|
+
2011-09-05 Wael Nasreddine <wael.nasreddine@gmail.com>
|
154
|
+
|
155
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.6
|
156
|
+
|
157
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Add a \n after order
|
158
|
+
deny,allow
|
159
|
+
|
160
|
+
* .../receipts/servers/web_server/nginx.rb: MISC: Define denied_access only
|
161
|
+
if it exists.
|
162
|
+
|
163
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.5
|
164
|
+
|
165
|
+
* examples/php_fpm/deploy/development.rb,
|
166
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
167
|
+
examples/rails_passenger/deploy/development.rb,
|
168
|
+
examples/rails_passenger/deploy/production.rb,
|
169
|
+
examples/rails_passenger/deploy/staging.rb,
|
170
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
171
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
172
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
173
|
+
.../receipts/servers/web_server/nginx.rb,
|
174
|
+
lib/capistrano-exts/templates/multistage.rb,
|
175
|
+
.../templates/web_servers/nginx.conf.erb,
|
176
|
+
spec/rendered_templates/nginx_php_fpm.conf,
|
177
|
+
spec/servers/web_server/nginx_spec.rb: MISC: Implement a denied_access.
|
178
|
+
|
179
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Deny access from logs folder.
|
180
|
+
|
181
|
+
* lib/capistrano-exts/receipts/contao.rb: MISC: Use fetch
|
182
|
+
|
183
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.4
|
184
|
+
|
185
|
+
* lib/capistrano-exts/receipts/functions.rb,
|
186
|
+
lib/capistrano-exts/receipts/mysql.rb: Use a random remote file name to avoid
|
187
|
+
race condition closes #2 @5m
|
188
|
+
|
189
|
+
2011-09-04 Wael Nasreddine <wael.nasreddine@gmail.com>
|
190
|
+
|
191
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.3
|
192
|
+
|
193
|
+
* lib/capistrano-exts/receipts/mysql.rb: Enhance how we look for the sql file
|
194
|
+
in {import,export}_db_dump Instead of expecting just one more argument (like
|
195
|
+
staging in 'cap staging mysql:import_db_dump), look for the index of the task
|
196
|
+
we're requesting and add one to it.. This way wherever the task has been
|
197
|
+
added to the call, we are able to fetch the file name from the command line
|
198
|
+
string refs #1 @10m
|
199
|
+
|
200
|
+
* lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Rename
|
201
|
+
print_web_server_http_auth to print_http_auth.
|
202
|
+
|
203
|
+
* lib/capistrano-exts/receipts/servers/web_server.rb: Rename
|
204
|
+
print_web_server_auth_file to print_web_server_http_auth.
|
205
|
+
|
206
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.2
|
207
|
+
|
208
|
+
* lib/capistrano-exts/receipts/multistage.rb,
|
209
|
+
lib/capistrano-exts/receipts/mysql.rb: Fix mysql:import_db_dump and
|
210
|
+
mysql:export_db_dump closes #1 @13m
|
211
|
+
|
212
|
+
* README.md, lib/capistrano-exts/version.rb: Bump to version 1.3.1
|
213
|
+
|
214
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: Fix a few issues with mysql
|
215
|
+
receipt.
|
216
|
+
|
217
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.3.0
|
218
|
+
|
219
|
+
* lib/capistrano-exts/receipts/mysql.rb,
|
220
|
+
lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Use cp/rm instead
|
221
|
+
of mv.
|
222
|
+
|
223
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: Do not write to the target
|
224
|
+
folder directly but instead write it to a temporary file and move it with
|
225
|
+
try_sudo.
|
226
|
+
|
227
|
+
* lib/capistrano-exts/receipts/contao.rb,
|
228
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
229
|
+
lib/capistrano-exts/receipts/servers/web_server.rb: MISC: The database server
|
230
|
+
should not be localhost but instead the primary database server.
|
231
|
+
|
232
|
+
* lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Instead of
|
233
|
+
looking for a proc, better is to look if it responds to :call.
|
234
|
+
|
235
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.2.0
|
236
|
+
|
237
|
+
* lib/capistrano-exts/receipts/functions.rb,
|
238
|
+
lib/capistrano-exts/receipts/mysql.rb: MISC: Make sure we do have a user and
|
239
|
+
a pass, don't assume that if we have a hash we do have auth.
|
240
|
+
|
241
|
+
* lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Add a new task
|
242
|
+
that prints the http_basic_auth for easier access to these informations.
|
243
|
+
|
244
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: Enhance the warnings (user
|
245
|
+
experience)
|
246
|
+
|
247
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: If we couldn't drop the
|
248
|
+
database (if we do not have permissions to do so) try dropping all tables.
|
249
|
+
|
250
|
+
2011-09-03 Wael Nasreddine <wael.nasreddine@gmail.com>
|
251
|
+
|
252
|
+
* spec/spec_helper.rb: MISC: in 34f771f5ddfa0b5274396e75d3b45e92d67ee3c0 I
|
253
|
+
have remove some gems, disable mocha for the moment.
|
254
|
+
|
255
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.5
|
256
|
+
|
257
|
+
* examples/php_fpm/deploy/development.rb,
|
258
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
259
|
+
examples/rails_passenger/deploy/development.rb,
|
260
|
+
examples/rails_passenger/deploy/production.rb,
|
261
|
+
examples/rails_passenger/deploy/staging.rb,
|
262
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
263
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
264
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
265
|
+
lib/capistrano-exts/receipts/contao.rb,
|
266
|
+
lib/capistrano-exts/receipts/servers/web_server.rb,
|
267
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Calling the latest_relase
|
268
|
+
this early (deploy:server:prepare) breaks because capistrano is trying to run
|
269
|
+
ls -x on the server.
|
270
|
+
|
271
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.4
|
272
|
+
|
273
|
+
* capistrano-exts.gemspec, spec/spec_helper.rb, spec/support/factories.rb:
|
274
|
+
MISC: Fix the homepage url and remove some non-used developement gems.
|
275
|
+
|
276
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.3
|
277
|
+
|
278
|
+
* lib/capistrano-exts/receipts/contao.rb,
|
279
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Assign a default for
|
280
|
+
public_path.
|
281
|
+
|
282
|
+
* examples/php_fpm/deploy/development.rb,
|
283
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
284
|
+
examples/rails_passenger/deploy/development.rb,
|
285
|
+
examples/rails_passenger/deploy/production.rb,
|
286
|
+
examples/rails_passenger/deploy/staging.rb,
|
287
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
288
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
289
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
290
|
+
lib/capistrano-exts/receipts/contao.rb,
|
291
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Fix a few minor issues and
|
292
|
+
add some more comments in the config file.
|
293
|
+
|
294
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.2
|
295
|
+
|
296
|
+
* lib/capistrano-exts/templates/multistage.rb: MISC: Rename nasreddine.com to
|
297
|
+
example.com in the server-details in the template.
|
298
|
+
|
299
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.1
|
300
|
+
|
301
|
+
* lib/capistrano-exts/receipts/multistage.rb: MISC: Print some info while
|
302
|
+
preparing the multistage.
|
303
|
+
|
304
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.1.0
|
305
|
+
|
306
|
+
* lib/capistrano-exts/receipts/contao.rb,
|
307
|
+
lib/capistrano-exts/receipts/mysql.rb: MISC: Add some rollback callbacks.
|
308
|
+
|
309
|
+
* examples/php_fpm/deploy/development.rb,
|
310
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
311
|
+
examples/rails_passenger/deploy/development.rb,
|
312
|
+
examples/rails_passenger/deploy/production.rb,
|
313
|
+
examples/rails_passenger/deploy/staging.rb,
|
314
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
315
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
316
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
317
|
+
lib/capistrano-exts/receipts/contao.rb,
|
318
|
+
lib/capistrano-exts/receipts/deploy.rb,
|
319
|
+
lib/capistrano-exts/receipts/functions.rb,
|
320
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
321
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Add some comments
|
322
|
+
explaining the configurations.
|
323
|
+
|
324
|
+
* README.md: MISC: Wrong gem name.
|
325
|
+
|
326
|
+
* lib/capistrano-exts/receipts/mysql.rb: MISC: Make sure we have parsed the
|
327
|
+
credentials, if the regex does not match we would have gotten a few
|
328
|
+
surprises.
|
329
|
+
|
330
|
+
* lib/capistrano-exts/receipts/functions.rb,
|
331
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
332
|
+
lib/capistrano-exts/receipts/servers.rb,
|
333
|
+
lib/capistrano-exts/receipts/servers/db_server.rb,
|
334
|
+
lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Fix a few minor
|
335
|
+
issues, it has been tested now.
|
336
|
+
|
337
|
+
* lib/capistrano-exts/receipts/contao.rb,
|
338
|
+
lib/capistrano-exts/receipts/mysql.rb: MISC: Create the database once the
|
339
|
+
server is setup and not after contao:setup
|
340
|
+
|
341
|
+
* lib/capistrano-exts/receipts/functions.rb,
|
342
|
+
lib/capistrano-exts/receipts/mysql.rb,
|
343
|
+
lib/capistrano-exts/receipts/servers/db_server.rb,
|
344
|
+
lib/capistrano-exts/receipts/servers/web_server.rb: MISC: Create the database
|
345
|
+
user and add it to the mysql_credentials_file.
|
346
|
+
|
347
|
+
* examples/php_fpm/deploy/development.rb,
|
348
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
349
|
+
examples/rails_passenger/deploy/development.rb,
|
350
|
+
examples/rails_passenger/deploy/production.rb,
|
351
|
+
examples/rails_passenger/deploy/staging.rb,
|
352
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
353
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
354
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
355
|
+
lib/capistrano-exts/servers/web_server.rb,
|
356
|
+
lib/capistrano-exts/servers/web_server/nginx.rb,
|
357
|
+
lib/capistrano-exts/templates/multistage.rb, spec/requests/nginx_spec.rb,
|
358
|
+
spec/servers/web_server/nginx_spec.rb: MISC: Rename rails_reverse_proxy to
|
359
|
+
reverse_proxy.
|
360
|
+
|
361
|
+
* lib/capistrano-exts/version.rb: Bump to version 1.0.1
|
362
|
+
|
363
|
+
* examples/php_fpm/deploy/development.rb,
|
364
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
365
|
+
examples/rails_passenger/deploy/development.rb,
|
366
|
+
examples/rails_passenger/deploy/production.rb,
|
367
|
+
examples/rails_passenger/deploy/staging.rb,
|
368
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
369
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
370
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
371
|
+
lib/capistrano-exts/servers/web_server.rb,
|
372
|
+
lib/capistrano-exts/servers/web_server/nginx.rb,
|
373
|
+
lib/capistrano-exts/templates/multistage.rb,
|
374
|
+
.../templates/web_servers/nginx.conf.erb, spec/requests/nginx_spec.rb,
|
375
|
+
spec/servers/web_server/nginx_spec.rb: MISC: Write all tests for nginx and
|
376
|
+
fix a minor issue with reverse_proxy_socket
|
377
|
+
|
378
|
+
* .travis.yml, capistrano-exts.gemspec: MISC: Remove jruby testing for the
|
379
|
+
moment, I should look at it later.
|
380
|
+
|
381
|
+
* .travis.yml: MISC: Let's try without bundle exec.
|
382
|
+
|
383
|
+
* .travis.yml: MISC: Let bundle install everything.
|
384
|
+
|
385
|
+
* Gemfile, capistrano-exts.gemspec: MISC: Disable growl_notify because it
|
386
|
+
only works on Mac, keep it commented as a guideline.
|
387
|
+
|
388
|
+
* .travis.yml, Gemfile, capistrano-exts.gemspec: MISC: Make sure rspec is
|
389
|
+
included in test group.
|
390
|
+
|
391
|
+
* .travis.yml: MISC: Still trying to fix travis-ci
|
392
|
+
|
393
|
+
* .../receipts/servers/web_server/apache.rb,
|
394
|
+
.../receipts/servers/web_server/nginx.rb: MISC: Use fetch()
|
395
|
+
|
396
|
+
* lib/capistrano-exts/receipts/contao.rb,
|
397
|
+
lib/capistrano-exts/receipts/deploy.rb: MISC: Move contao:fix_permissions to
|
398
|
+
deploy:fix_permissions, and chmod g+w if group_writable, by default true.
|
399
|
+
|
400
|
+
* .travis.yml: MISC: Don't install developement nor staging groups.
|
401
|
+
|
402
|
+
* README.md, examples/php_fpm/deploy.rb, examples/rails_passenger/deploy.rb,
|
403
|
+
examples/rails_reverse_proxy/deploy.rb, lib/capistrano-exts/receipts/base.rb,
|
404
|
+
lib/capistrano-exts/receipts/contao.rb,
|
405
|
+
lib/capistrano-exts/receipts/deploy.rb, lib/capistrano-exts/receipts/git.rb,
|
406
|
+
lib/capistrano-exts/receipts/mysql.rb, lib/capistrano-exts/receipts/rails.rb,
|
407
|
+
lib/capistrano-exts/receipts/servers.rb,
|
408
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Replace base with deploy.
|
409
|
+
|
410
|
+
* README.md: MISC: A new line is needed before block codes.
|
411
|
+
|
412
|
+
* MIT-LICENSE, README.md: MISC: Add a very basic README and a License.
|
413
|
+
|
414
|
+
* examples/rails_passenger/deploy.rb, examples/rails_reverse_proxy/deploy.rb,
|
415
|
+
lib/capistrano-exts/receipts/rails.rb: MISC: Rails applications should
|
416
|
+
require rails and not contao.
|
417
|
+
|
418
|
+
2011-09-02 Wael Nasreddine <wael.nasreddine@gmail.com>
|
419
|
+
|
420
|
+
* .travis.yml: MISC: Add travis-ci config file.
|
421
|
+
|
422
|
+
* examples/php_fpm/deploy.rb, examples/php_fpm/deploy/development.rb,
|
423
|
+
examples/php_fpm/deploy/production.rb, examples/php_fpm/deploy/staging.rb,
|
424
|
+
examples/rails_passenger/deploy.rb,
|
425
|
+
examples/rails_passenger/deploy/development.rb,
|
426
|
+
examples/rails_passenger/deploy/production.rb,
|
427
|
+
examples/rails_passenger/deploy/staging.rb,
|
428
|
+
examples/rails_reverse_proxy/deploy.rb,
|
429
|
+
examples/rails_reverse_proxy/deploy/development.rb,
|
430
|
+
examples/rails_reverse_proxy/deploy/production.rb,
|
431
|
+
examples/rails_reverse_proxy/deploy/staging.rb,
|
432
|
+
lib/capistrano-exts/templates/multistage.rb: MISC: Add some examples.
|
433
|
+
|
434
|
+
* lib/capistrano-exts/templates/multistage.rb: MISC: Fix a typo in the
|
435
|
+
template file.
|
436
|
+
|
437
|
+
* spec/requests/nginx_spec.rb, spec/servers/web_server/nginx_spec.rb: MISC:
|
438
|
+
Fix the tests.
|
439
|
+
|
440
|
+
* Gemfile, Guardfile, capistrano-extensions.gemspec, capistrano-exts.gemspec,
|
441
|
+
lib/capistrano-extensions.rb, lib/capistrano-extensions/core_ext.rb,
|
442
|
+
.../core_ext/string/filters.rb, lib/capistrano-extensions/receipts.rb,
|
443
|
+
lib/capistrano-extensions/receipts/base.rb,
|
444
|
+
lib/capistrano-extensions/receipts/contao.rb,
|
445
|
+
lib/capistrano-extensions/receipts/functions.rb,
|
446
|
+
lib/capistrano-extensions/receipts/git.rb,
|
447
|
+
lib/capistrano-extensions/receipts/god.rb,
|
448
|
+
lib/capistrano-extensions/receipts/multistage.rb,
|
449
|
+
lib/capistrano-extensions/receipts/mysql.rb,
|
450
|
+
lib/capistrano-extensions/receipts/rails.rb,
|
451
|
+
lib/capistrano-extensions/receipts/servers.rb,
|
452
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb,
|
453
|
+
lib/capistrano-extensions/receipts/unicorn.rb,
|
454
|
+
lib/capistrano-extensions/servers/utils/erb.rb,
|
455
|
+
.../servers/utils/variables.rb,
|
456
|
+
lib/capistrano-extensions/servers/web_server.rb,
|
457
|
+
.../servers/web_server/nginx.rb,
|
458
|
+
lib/capistrano-extensions/templates/multistage.rb,
|
459
|
+
.../templates/web_servers/nginx.conf.erb,
|
460
|
+
lib/capistrano-extensions/version.rb, lib/capistrano-exts.rb,
|
461
|
+
lib/capistrano-exts/core_ext.rb,
|
462
|
+
lib/capistrano-exts/core_ext/string/filters.rb,
|
463
|
+
lib/capistrano-exts/receipts.rb, lib/capistrano-exts/receipts/base.rb,
|
464
|
+
lib/capistrano-exts/receipts/contao.rb,
|
465
|
+
lib/capistrano-exts/receipts/functions.rb,
|
466
|
+
lib/capistrano-exts/receipts/git.rb, lib/capistrano-exts/receipts/god.rb,
|
467
|
+
lib/capistrano-exts/receipts/multistage.rb,
|
468
|
+
lib/capistrano-exts/receipts/mysql.rb, lib/capistrano-exts/receipts/rails.rb,
|
469
|
+
lib/capistrano-exts/receipts/servers.rb,
|
470
|
+
lib/capistrano-exts/receipts/servers/db_server.rb,
|
471
|
+
lib/capistrano-exts/receipts/servers/web_server.rb,
|
472
|
+
.../receipts/servers/web_server/apache.rb,
|
473
|
+
.../receipts/servers/web_server/nginx.rb,
|
474
|
+
lib/capistrano-exts/receipts/unicorn.rb,
|
475
|
+
lib/capistrano-exts/servers/utils/erb.rb,
|
476
|
+
lib/capistrano-exts/servers/utils/variables.rb,
|
477
|
+
lib/capistrano-exts/servers/web_server.rb,
|
478
|
+
lib/capistrano-exts/servers/web_server/nginx.rb,
|
479
|
+
lib/capistrano-exts/templates/multistage.rb,
|
480
|
+
.../templates/web_servers/nginx.conf.erb, lib/capistrano-exts/version.rb,
|
481
|
+
spec/spec_helper.rb: MISC: Rename the extension to capistrano-exts as an
|
482
|
+
existing gem exists with that name and add some useful tasks for nginx and
|
483
|
+
apache.
|
484
|
+
|
485
|
+
* lib/capistrano-extensions/receipts/multistage.rb,
|
486
|
+
lib/capistrano-extensions/receipts/mysql.rb,
|
487
|
+
.../receipts/servers/web_server.rb,
|
488
|
+
lib/capistrano-extensions/servers/web_server.rb,
|
489
|
+
lib/capistrano-extensions/templates/multistage.rb,
|
490
|
+
.../templates/web_servers/nginx.conf.erb: MISC: MySQL needs a host and fix a
|
491
|
+
few minor issues.
|
492
|
+
|
493
|
+
* lib/capistrano-extensions.rb, lib/capistrano-extensions/receipts/contao.rb,
|
494
|
+
lib/capistrano-extensions/receipts/functions.rb,
|
495
|
+
lib/capistrano-extensions/receipts/mysql.rb,
|
496
|
+
lib/capistrano-extensions/receipts/servers.rb,
|
497
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb,
|
498
|
+
lib/capistrano-extensions/servers/web_server.rb,
|
499
|
+
.../servers/web_server/nginx.rb: MISC: Web configuration and passwords are
|
500
|
+
complete..
|
501
|
+
|
502
|
+
* lib/capistrano-extensions/version.rb: MISC: Define Version::ARRAY in case
|
503
|
+
we use it later.
|
504
|
+
|
505
|
+
* capistrano-extensions.gemspec, lib/capistrano-extensions.rb,
|
506
|
+
lib/capistrano-extensions/core_ext.rb, .../core_ext/string/filters.rb,
|
507
|
+
lib/capistrano-extensions/receipts.rb,
|
508
|
+
lib/capistrano-extensions/receipts/base.rb,
|
509
|
+
lib/capistrano-extensions/receipts/contao.rb,
|
510
|
+
lib/capistrano-extensions/receipts/functions.rb,
|
511
|
+
lib/capistrano-extensions/receipts/git.rb,
|
512
|
+
lib/capistrano-extensions/receipts/god.rb,
|
513
|
+
lib/capistrano-extensions/receipts/mysql.rb,
|
514
|
+
.../receipts/servers/web_server.rb,
|
515
|
+
lib/capistrano-extensions/servers/utils/erb.rb,
|
516
|
+
.../servers/utils/variables.rb,
|
517
|
+
lib/capistrano-extensions/servers/web_server.rb,
|
518
|
+
.../servers/web_server/nginx.rb, lib/capistrano-extensions/version.rb,
|
519
|
+
spec/spec_helper.rb: MISC: Make sure we run in a specific role, don't let
|
520
|
+
active_support overwrite capture and move the functions to functions.rb
|
521
|
+
|
522
|
+
* lib/capistrano-extensions/receipts/base.rb,
|
523
|
+
lib/capistrano-extensions/receipts/contao.rb,
|
524
|
+
lib/capistrano-extensions/receipts/rails.rb: MISC: Replace blank?() and
|
525
|
+
present?() with the one given by active_support's core_ext.
|
526
|
+
|
527
|
+
* capistrano-extensions.gemspec: MISC: Change the summary.
|
528
|
+
|
529
|
+
* lib/capistrano-extensions/receipts/multistage.rb: MISC: Bring home all of
|
530
|
+
capistrano-ext features.
|
531
|
+
|
532
|
+
* lib/capistrano-extensions/receipts.rb, .../receipts/configurations.rb,
|
533
|
+
lib/capistrano-extensions/receipts/multistage.rb: MISC: Include most of
|
534
|
+
capistrano-ext functionalities.
|
535
|
+
|
536
|
+
* Gemfile, Guardfile, capistrano-extensions.gemspec,
|
537
|
+
capistrano-technogate.gemspec, lib/capistrano-extensions.rb,
|
538
|
+
lib/capistrano-extensions/core_ext.rb, .../core_ext/string/filters.rb,
|
539
|
+
lib/capistrano-extensions/receipts.rb,
|
540
|
+
lib/capistrano-extensions/receipts/base.rb, .../receipts/configurations.rb,
|
541
|
+
lib/capistrano-extensions/receipts/contao.rb,
|
542
|
+
lib/capistrano-extensions/receipts/god.rb,
|
543
|
+
lib/capistrano-extensions/receipts/mysql.rb,
|
544
|
+
lib/capistrano-extensions/receipts/rails.rb,
|
545
|
+
lib/capistrano-extensions/receipts/servers.rb,
|
546
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb,
|
547
|
+
lib/capistrano-extensions/receipts/unicorn.rb,
|
548
|
+
lib/capistrano-extensions/servers/utils/erb.rb,
|
549
|
+
.../servers/utils/variables.rb,
|
550
|
+
lib/capistrano-extensions/servers/web_server.rb,
|
551
|
+
.../servers/web_server/nginx.rb, .../templates/web_servers/nginx.conf.erb,
|
552
|
+
lib/capistrano-extensions/version.rb, lib/capistrano-technogate.rb,
|
553
|
+
lib/capistrano-technogate/core_ext.rb, .../core_ext/string/filters.rb,
|
554
|
+
lib/capistrano-technogate/receipts/base.rb, .../receipts/configurations.rb,
|
555
|
+
lib/capistrano-technogate/receipts/contao.rb,
|
556
|
+
lib/capistrano-technogate/receipts/god.rb,
|
557
|
+
lib/capistrano-technogate/receipts/mysql.rb,
|
558
|
+
lib/capistrano-technogate/receipts/rails.rb,
|
559
|
+
lib/capistrano-technogate/receipts/servers.rb,
|
560
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb,
|
561
|
+
lib/capistrano-technogate/receipts/unicorn.rb,
|
562
|
+
lib/capistrano-technogate/servers/utils/erb.rb,
|
563
|
+
.../servers/utils/variables.rb,
|
564
|
+
lib/capistrano-technogate/servers/web_server.rb,
|
565
|
+
.../servers/web_server/nginx.rb, .../templates/web_servers/nginx.conf.erb,
|
566
|
+
lib/capistrano-technogate/version.rb, spec/spec_helper.rb: MISC: Rename this
|
567
|
+
project to capistrano-extensions.
|
568
|
+
|
569
|
+
* capistrano-technogate.gemspec, lib/capistrano-technogate/receipts/base.rb,
|
570
|
+
lib/capistrano-technogate/receipts/servers.rb,
|
571
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb,
|
572
|
+
.../templates/web_servers/nginx.conf.erb,
|
573
|
+
spec/servers/web_server/nginx_spec.rb: MISC: deploy:server are still in
|
574
|
+
progress.
|
575
|
+
|
576
|
+
2011-09-01 Wael Nasreddine <wael.nasreddine@gmail.com>
|
577
|
+
|
578
|
+
* capistrano-technogate.gemspec, lib/capistrano-technogate.rb,
|
579
|
+
lib/capistrano-technogate/core_ext.rb,
|
580
|
+
lib/capistrano-technogate/core_ext/README.rdoc,
|
581
|
+
lib/capistrano-technogate/core_ext/object/blank.rb,
|
582
|
+
lib/capistrano-technogate/core_ext/object/try.rb,
|
583
|
+
.../core_ext/string/encoding.rb, .../core_ext/string/filters.rb: MISC: Why
|
584
|
+
not use active_support/core_ext ?
|
585
|
+
|
586
|
+
* lib/capistrano-technogate/receipts/servers.rb,
|
587
|
+
.../receipts/servers/db_server.rb, .../receipts/servers/web_server.rb: MISC:
|
588
|
+
Add tasks for server preparations, tasks need to be implemented.
|
589
|
+
|
590
|
+
* spec/rendered_templates/nginx_php_fpm.conf: MISC: Fix the test.
|
591
|
+
|
592
|
+
* .../core_ext/string/filters.rb,
|
593
|
+
lib/capistrano-technogate/servers/utils/erb.rb,
|
594
|
+
lib/capistrano-technogate/servers/web_server.rb,
|
595
|
+
.../templates/web_servers/nginx.conf.erb,
|
596
|
+
spec/rendered_templates/nginx_php_fpm.conf: MISC: Beautify the output a
|
597
|
+
little bit.
|
598
|
+
|
599
|
+
* lib/capistrano-technogate/servers/web_server.rb,
|
600
|
+
spec/rendered_templates/nginx_php_fpm.conf, spec/requests/nginx_spec.rb,
|
601
|
+
spec/servers/web_server/nginx_spec.rb, spec/spec_helper.rb: MISC: Complete
|
602
|
+
the nginx template for php_fpm.
|
603
|
+
|
604
|
+
* lib/capistrano-technogate/servers/web_server.rb,
|
605
|
+
spec/servers/web_server/nginx_spec.rb: MISC: Finish php_fpm functionality.
|
606
|
+
|
607
|
+
* lib/capistrano-technogate/servers/utils/erb.rb,
|
608
|
+
lib/capistrano-technogate/servers/web_server.rb,
|
609
|
+
.../templates/web_servers/nginx.conf.erb,
|
610
|
+
spec/servers/web_server/nginx_spec.rb: MISC: A few enhancements.
|
611
|
+
|
612
|
+
* Guardfile, capistrano-technogate.gemspec: MISC: Enable guard for bundler
|
613
|
+
and rspec
|
614
|
+
|
615
|
+
* .../servers/utils/variables.rb,
|
616
|
+
lib/capistrano-technogate/servers/web_server.rb,
|
617
|
+
.../servers/web_server/common.rb, .../servers/web_server/nginx.rb: MISC:
|
618
|
+
Replace the template variables by a meta-programming for easier maintenance.
|
619
|
+
|
620
|
+
* Rakefile, capistrano-technogate.gemspec, lib/capistrano-technogate.rb,
|
621
|
+
lib/capistrano-technogate/core_ext.rb,
|
622
|
+
lib/capistrano-technogate/core_ext/README.rdoc,
|
623
|
+
lib/capistrano-technogate/core_ext/object/blank.rb,
|
624
|
+
lib/capistrano-technogate/core_ext/object/try.rb,
|
625
|
+
.../core_ext/string/encoding.rb, lib/capistrano-technogate/receipts/base.rb,
|
626
|
+
.../receipts/configurations.rb, lib/capistrano-technogate/receipts/contao.rb,
|
627
|
+
lib/capistrano-technogate/receipts/god.rb,
|
628
|
+
lib/capistrano-technogate/receipts/mysql.rb,
|
629
|
+
lib/capistrano-technogate/receipts/rails.rb,
|
630
|
+
lib/capistrano-technogate/receipts/servers.rb,
|
631
|
+
lib/capistrano-technogate/receipts/unicorn.rb,
|
632
|
+
lib/capistrano-technogate/servers/utils/erb.rb,
|
633
|
+
.../servers/web_server/common.rb, .../servers/web_server/nginx.rb,
|
634
|
+
.../templates/web_servers/nginx.conf.erb,
|
635
|
+
lib/capistrano-technogate/version.rb, lib/capistrano/technogate/base.rb,
|
636
|
+
lib/capistrano/technogate/configurations.rb,
|
637
|
+
lib/capistrano/technogate/contao.rb, lib/capistrano/technogate/god.rb,
|
638
|
+
lib/capistrano/technogate/mysql.rb, lib/capistrano/technogate/rails.rb,
|
639
|
+
lib/capistrano/technogate/unicorn.rb, lib/capistrano/technogate/version.rb,
|
640
|
+
spec/servers/web_server/nginx_spec.rb, spec/spec_helper.rb,
|
641
|
+
spec/support/factories.rb: MISC: Major redesign.
|
642
|
+
|
643
|
+
2011-08-31 Wael Nasreddine <wael.nasreddine@gmail.com>
|
644
|
+
|
645
|
+
* lib/capistrano/technogate/base.rb,
|
646
|
+
lib/capistrano/technogate/configurations.rb,
|
647
|
+
lib/capistrano/technogate/mysql.rb: MISC: Add a function parsing mysql root
|
648
|
+
credentials.
|
649
|
+
|
650
|
+
* lib/capistrano/technogate/version.rb: MISC: Bump to version 0.1.1
|
651
|
+
|
652
|
+
* lib/capistrano/technogate/rails.rb: MISC: Before running
|
653
|
+
deploy:assets:precompile make sure bundle:install has ran.
|
654
|
+
|
655
|
+
* lib/capistrano/technogate/version.rb: MISC: Bump to version 0.1.0
|
656
|
+
|
657
|
+
* lib/capistrano/technogate/configurations.rb,
|
658
|
+
lib/capistrano/technogate/contao.rb, lib/capistrano/technogate/mysql.rb,
|
659
|
+
lib/capistrano/technogate/rails.rb: MISC: Move MySQL tasks into it's own
|
660
|
+
file.
|
661
|
+
|
662
|
+
* lib/capistrano/technogate/base.rb, lib/capistrano/technogate/contao.rb,
|
663
|
+
lib/capistrano/technogate/version.rb: MISC: If contao is included, overwrite
|
664
|
+
deploy:finalize_update.
|
665
|
+
|
666
|
+
* capistrano-technogate.gemspec: MISC: Add github projet page as the home
|
667
|
+
page.
|
668
|
+
|
669
|
+
* ..gemspec, .gitignore, Gemfile, Rakefile, base.rb,
|
670
|
+
capistrano-technogate.gemspec, configurations.rb, contao.rb, god.rb,
|
671
|
+
lib/capistrano/technogate/base.rb,
|
672
|
+
lib/capistrano/technogate/configurations.rb,
|
673
|
+
lib/capistrano/technogate/contao.rb, lib/capistrano/technogate/god.rb,
|
674
|
+
lib/capistrano/technogate/mysql.rb, lib/capistrano/technogate/rails.rb,
|
675
|
+
lib/capistrano/technogate/unicorn.rb, lib/capistrano/technogate/version.rb,
|
676
|
+
mysql.rb, rails.rb, unicorn.rb: Initial gem.
|
677
|
+
|
678
|
+
* base.rb, configurations.rb, mysql.rb: MISC: Import modifications from my
|
679
|
+
latest projects.
|
680
|
+
|
681
|
+
2011-08-25 Wael Nasreddine <wael.nasreddine@gmail.com>
|
682
|
+
|
683
|
+
* contao.rb: Commit contao.rb
|
684
|
+
|
685
|
+
* base.rb, configurations.rb, god.rb, rails.rb, unicorn.rb: MISC: Adjust the
|
686
|
+
receipts.
|
687
|
+
|
688
|
+
* base.rb, configurations.rb, god.rb, rails.rb: Initial Import.
|
data/README.md
CHANGED
@@ -1,12 +1,11 @@
|
|
1
|
-
Capistrano Extensions [![Build Status](http://travis-ci.org/TechnoGate/capistrano-exts.png)](http://travis-ci.org/TechnoGate/capistrano-exts)
|
2
|
-
=====
|
3
|
-
This gem provides some useful capistrano tasks, for preparing the server,
|
4
|
-
the database and the application without ever SSH'ing to the destination server,
|
5
|
-
it also provides multistage functionality just like [capistano-ext](https://github.com/capistrano/capistrano-ext)
|
6
|
-
gem, in fact the included multistage file is a modified version of capistrano-ext
|
1
|
+
# Capistrano Extensions [![Build Status](http://travis-ci.org/TechnoGate/capistrano-exts.png)](http://travis-ci.org/TechnoGate/capistrano-exts)
|
7
2
|
|
8
|
-
|
9
|
-
|
3
|
+
capistrano-exts is a set of helper tasks to help with the initial server
|
4
|
+
configuration and application provisioning. Things like creating the directory
|
5
|
+
structure, setting up that database, and other one-off you might find yourself
|
6
|
+
doing by hand far too often.
|
7
|
+
|
8
|
+
# Installation
|
10
9
|
|
11
10
|
Install the gem
|
12
11
|
|
@@ -17,12 +16,13 @@ gem install capistrano-exts
|
|
17
16
|
or add it to your Gemfile
|
18
17
|
|
19
18
|
```ruby
|
20
|
-
gem 'capistrano-exts', '>=1.8.
|
19
|
+
gem 'capistrano-exts', '>=1.8.2', :require => false
|
21
20
|
```
|
22
21
|
|
23
|
-
Setup
|
24
|
-
|
25
|
-
First make sure you have capified your project, if not then run the following
|
22
|
+
# Setup
|
23
|
+
|
24
|
+
First make sure you have capified your project, if not then run the following
|
25
|
+
command on the root of your project:
|
26
26
|
|
27
27
|
```bash
|
28
28
|
$ capify .
|
@@ -47,26 +47,140 @@ Then run the command
|
|
47
47
|
$ cap multistage:setup
|
48
48
|
```
|
49
49
|
|
50
|
-
|
50
|
+
This command will create default configuration files in the folder
|
51
|
+
__config/deploy__, one configuration file for each stage you defined above,
|
52
|
+
before deploying the project to a stage you should carefully edit the
|
53
|
+
configuration files.
|
54
|
+
|
55
|
+
# Usage
|
56
|
+
|
57
|
+
## Server preparation
|
58
|
+
|
59
|
+
If you have edited the config files, the mysql and web server section, then
|
60
|
+
you're ready to prepare the server using the command:
|
61
|
+
|
62
|
+
```bash
|
63
|
+
$ cap [stage] deploy:server:setup
|
64
|
+
```
|
65
|
+
|
66
|
+
You'd have to prepare the project's folder with the command:
|
67
|
+
|
68
|
+
```bash
|
69
|
+
$ cap [stage] deploy:setup
|
70
|
+
```
|
71
|
+
|
72
|
+
## Deployment
|
73
|
+
|
74
|
+
The project can be deployed with the plain old capistrano command:
|
75
|
+
|
76
|
+
```bash
|
77
|
+
$ cap [stage] deploy
|
78
|
+
```
|
79
|
+
|
80
|
+
## Post deployment
|
81
|
+
|
82
|
+
Capistrano exts provide several tasks to help with your everyday development,
|
83
|
+
like importing/exporting the database, importing/exporting the contents and
|
84
|
+
sync two stages, sync is of course one way.
|
85
|
+
|
86
|
+
### Importing the database
|
87
|
+
|
88
|
+
Assuming you're developing locally, for example using a CMS, when the project
|
89
|
+
is ready for deployment, all you have to do is
|
90
|
+
|
91
|
+
1. Dump the database locally, for this example, I'll assume
|
92
|
+
**/tmp/project\_db\_dump.sql** is the dump of your project's database
|
93
|
+
2. Import the database into the target server using the following command
|
94
|
+
|
95
|
+
```bash
|
96
|
+
$ cap [stage] mysql:import_db_dump /tmp/project_db_dump.sql
|
97
|
+
```
|
98
|
+
|
99
|
+
### Importing the contents
|
51
100
|
|
52
|
-
|
53
|
-
|
101
|
+
You can also import the contents from your local development (or a tarball
|
102
|
+
from another server), using the command
|
54
103
|
|
55
|
-
|
104
|
+
```bash
|
105
|
+
$ cap [stage] contents:import /tmp/contents.tar.gz
|
106
|
+
```
|
107
|
+
|
108
|
+
N.B: The tarball will be extracted in **shared/shared\_contents** so you
|
109
|
+
should make sure you have the
|
110
|
+
[**contents\_folder**](https://github.com/TechnoGate/capistrano-exts/blob/master/lib/capistrano-exts/templates/multistage.rb#L54)
|
111
|
+
in the configuration file of the stage.
|
112
|
+
|
113
|
+
|
114
|
+
### Exporting the database
|
115
|
+
|
116
|
+
If you want to export the database you can simply run
|
117
|
+
|
118
|
+
```bash
|
119
|
+
$ cap [stage] mysql:export_db_dump [sql_dump_file]
|
120
|
+
```
|
121
|
+
|
122
|
+
The **sql\_dump\_file** is of course optional, if not given a random file in
|
123
|
+
/tmp will be created.
|
124
|
+
|
125
|
+
### Exporting the contents
|
126
|
+
|
127
|
+
If you want to export the contents you can simply run
|
128
|
+
|
129
|
+
```bash
|
130
|
+
$ cap [stage] mysql:export_db_dump [contents_file]
|
131
|
+
```
|
132
|
+
|
133
|
+
The **contents\_file** is of course optional, if not given a random file in
|
134
|
+
/tmp will be created.
|
135
|
+
|
136
|
+
### Sync
|
137
|
+
|
138
|
+
Capistrano exts has special tasks defined under the **multistage** namespace
|
139
|
+
for syncing one stage with another, and the tasks are generate on runtime
|
140
|
+
depending on the stages you have defined, for example, if you have a staging
|
141
|
+
and a production stage, you can develop your application on the staging area
|
142
|
+
and then sync one or both of the database and contents of the production stage
|
143
|
+
with those of staging like so:
|
144
|
+
|
145
|
+
Sync the database only
|
56
146
|
|
57
147
|
```bash
|
58
|
-
$ cap
|
148
|
+
$ cap multistage:sync_production_database_with_staging
|
59
149
|
```
|
60
150
|
|
61
|
-
|
151
|
+
Sync the contents only
|
62
152
|
|
63
153
|
```bash
|
64
|
-
$ cap
|
154
|
+
$ cap multistage:sync_production_contents_with_staging
|
65
155
|
```
|
66
156
|
|
67
|
-
|
157
|
+
Sync both
|
158
|
+
|
159
|
+
```bash
|
160
|
+
$ cap multistage:sync_production_with_staging
|
161
|
+
```
|
162
|
+
|
163
|
+
# License
|
164
|
+
|
165
|
+
## This code is free to use under the terms of the MIT license.
|
166
|
+
|
167
|
+
Copyright (c) 2011 Wael Nasreddine <wael.nasreddine@gmail.com>
|
168
|
+
|
169
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
170
|
+
a copy of this software and associated documentation files (the
|
171
|
+
"Software"), to deal in the Software without restriction, including
|
172
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
173
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
174
|
+
permit persons to whom the Software is furnished to do so, subject to
|
175
|
+
the following conditions:
|
68
176
|
|
177
|
+
The above copyright notice and this permission notice shall be
|
178
|
+
included in all copies or substantial portions of the Software.
|
69
179
|
|
70
|
-
|
71
|
-
|
72
|
-
|
180
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
181
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
182
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
183
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
184
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
185
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
186
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/capistrano-exts.gemspec
CHANGED
@@ -8,8 +8,13 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.authors = ["Wael Nasreddine"]
|
9
9
|
s.email = ["wael.nasreddine@gmail.com"]
|
10
10
|
s.homepage = "https://github.com/TechnoGate/capistrano-exts"
|
11
|
-
s.summary = %q{
|
12
|
-
s.description =
|
11
|
+
s.summary = %q{Set of helper tasks to help with the initial server configuration and application provisioning.}
|
12
|
+
s.description = <<-EOD
|
13
|
+
capistrano-exts is a set of helper tasks to help with the initial server
|
14
|
+
configuration and application provisioning. Things like creating the directory
|
15
|
+
structure, setting up that database, and other one-off you might find yourself
|
16
|
+
doing by hand far too often.
|
17
|
+
EOD
|
13
18
|
|
14
19
|
s.rubyforge_project = "capistrano-exts"
|
15
20
|
|
@@ -29,6 +29,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
29
29
|
#{try_sudo} mkdir -p #{shared_path}/config
|
30
30
|
CMD
|
31
31
|
|
32
|
+
# TODO: The deny access should follow denied_access config
|
32
33
|
deny_htaccess = "order deny,allow\n"
|
33
34
|
deny_htaccess << "deny from all"
|
34
35
|
|
@@ -37,26 +38,30 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
37
38
|
|
38
39
|
desc "[internal] Setup contao's localconfig"
|
39
40
|
task :setup_localconfig, :roles => :app, :except => { :no_release => true } do
|
40
|
-
|
41
|
+
unless remote_file_exists?("#{fetch :shared_path}/config/localconfig.php")
|
42
|
+
on_rollback { run "rm -f #{shared_path}/config/localconfig.php" }
|
41
43
|
|
42
|
-
|
43
|
-
|
44
|
-
|
44
|
+
localconfig = File.read("public/system/config/localconfig.php.sample")
|
45
|
+
mysql_credentials = fetch :mysql_credentials
|
46
|
+
mysql_db_name = fetch :mysql_db_name
|
45
47
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
48
|
+
# localconfig
|
49
|
+
if mysql_credentials.blank?
|
50
|
+
puts "WARNING: The mysql credential file can't be found, localconfig has just been copied from the sample file"
|
51
|
+
end
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
# Add MySQL credentials
|
54
|
+
unless localconfig.blank? or mysql_credentials.blank?
|
55
|
+
localconfig.gsub!(/#DB_HOST#/, mysql_credentials[:host])
|
56
|
+
localconfig.gsub!(/#DB_USER#/, mysql_credentials[:user])
|
57
|
+
localconfig.gsub!(/#DB_PASS#/, mysql_credentials[:pass])
|
58
|
+
localconfig.gsub!(/#DB_NAME#/, mysql_db_name)
|
59
|
+
end
|
58
60
|
|
59
|
-
|
61
|
+
put localconfig, "#{fetch :shared_path}/config/localconfig.php"
|
62
|
+
else
|
63
|
+
puts "WARNING: The file '#{fetch :shared_path}/config/localconfig.php' already exists, not overwriting."
|
64
|
+
end
|
60
65
|
end
|
61
66
|
|
62
67
|
desc "[internal] Setup .htaccess"
|
@@ -115,10 +115,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
115
115
|
on_rollback { run "rm -f #{random_file}" }
|
116
116
|
|
117
117
|
# Ask for a confirmation
|
118
|
-
|
119
|
-
if response =~ /(no?)|(a(bort)?|\n)/i
|
120
|
-
abort "Canceled by the user."
|
121
|
-
end
|
118
|
+
ask_for_confirmation "I am going to add/replace all the files in the contents folder of #{fetch :application} with the contents of #{import_filename_argv}, are you sure you would like to continue (Yes, [No], Abort)", default:'N'
|
122
119
|
|
123
120
|
# Transfer the SQL file to the server
|
124
121
|
# TODO: Try upload(filename, remote_file_name) function instead
|
@@ -32,7 +32,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
32
32
|
return newpass
|
33
33
|
end
|
34
34
|
|
35
|
-
def ask(what, options)
|
35
|
+
def ask(what, options = {})
|
36
36
|
default = options[:default]
|
37
37
|
validate = options[:validate] || /(y(es)?)|(no?)|(a(bort)?|\n)/i
|
38
38
|
echo = (options[:echo].nil?) ? true : options[:echo]
|
@@ -79,4 +79,17 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
79
79
|
def read(file)
|
80
80
|
capture("cat #{file}")
|
81
81
|
end
|
82
|
+
|
83
|
+
# ask_for_confirmation(what)
|
84
|
+
# This function asks the user for confirmation (confirm running the task)
|
85
|
+
# If the user answers no, then the task won't be executed.
|
86
|
+
def ask_for_confirmation(what, options = {})
|
87
|
+
unless exists?(:force) and fetch(:force) == true
|
88
|
+
# Ask for a confirmation
|
89
|
+
response = ask(what, options)
|
90
|
+
if response =~ /(no?)|(a(bort)?|\n)/i
|
91
|
+
abort "Canceled by the user."
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
82
95
|
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
# To allow configuration in either seperate files or in-line configurations
|
4
4
|
|
5
5
|
require 'capistrano'
|
6
|
+
require 'capistrano-exts/receipts/functions'
|
6
7
|
require 'fileutils'
|
7
8
|
|
8
9
|
unless Capistrano::Configuration.respond_to?(:instance)
|
@@ -91,13 +92,10 @@ Capistrano::Configuration.instance.load do
|
|
91
92
|
# Don't you just love metaprogramming? I know I fucking do!
|
92
93
|
stages.each do |target_stage|
|
93
94
|
stages.reject { |s| s == target_stage }.each do |source_stage|
|
94
|
-
desc "Synchronise #{target_stage} with #{source_stage}"
|
95
|
-
task "sync_#{target_stage}
|
95
|
+
desc "Synchronise #{target_stage}'s database with #{source_stage}"
|
96
|
+
task "sync_#{target_stage}_database_with_#{source_stage}", :roles => :db, :except => { :no_release => true } do
|
96
97
|
# Ask for a confirmation
|
97
|
-
|
98
|
-
if response =~ /(no?)|(a(bort)?|\n)/i
|
99
|
-
abort "Canceled by the user."
|
100
|
-
end
|
98
|
+
ask_for_confirmation "I am going to synchronise '#{target_stage}' database with '#{source_stage}', it means I will overwrite the database of '#{target_stage}' with those of '#{source_stage}', are you really sure you would like to continue (Yes, [No], Abort)", default:'N'
|
101
99
|
|
102
100
|
# Generate a random folder name
|
103
101
|
random_folder = random_tmp_file
|
@@ -105,17 +103,48 @@ Capistrano::Configuration.instance.load do
|
|
105
103
|
# Create the folder
|
106
104
|
FileUtils.mkdir_p random_folder
|
107
105
|
|
108
|
-
# Get the database
|
106
|
+
# Get the database of the source
|
109
107
|
system "bundle exec cap #{source_stage} mysql:export_db_dump #{random_folder}/database.sql"
|
108
|
+
|
109
|
+
# Send it to the target
|
110
|
+
system "bundle exec cap -S force=true #{target_stage} mysql:import_db_dump #{random_folder}/database.sql"
|
111
|
+
|
112
|
+
# Remove the entire folder
|
113
|
+
FileUtils.rm_rf random_folder
|
114
|
+
end
|
115
|
+
|
116
|
+
desc "Synchronise #{target_stage}'s contents with #{source_stage}"
|
117
|
+
task "sync_#{target_stage}_contents_with_#{source_stage}", :roles => :app, :except => { :no_release => true } do
|
118
|
+
# Ask for a confirmation
|
119
|
+
ask_for_confirmation "I am going to synchronise '#{target_stage}' contents with '#{source_stage}', it means I will overwrite the contents of '#{target_stage}' with those of '#{source_stage}', are you really sure you would like to continue (Yes, [No], Abort)", default:'N'
|
120
|
+
|
121
|
+
# Generate a random folder name
|
122
|
+
random_folder = random_tmp_file
|
123
|
+
|
124
|
+
# Create the folder
|
125
|
+
FileUtils.mkdir_p random_folder
|
126
|
+
|
127
|
+
# Get the contents of the source
|
110
128
|
system "bundle exec cap #{source_stage} contents:export #{random_folder}/contents.tar.gz"
|
111
129
|
|
112
130
|
# Send them to the target
|
113
|
-
system "
|
114
|
-
system "echo 'yes' | bundle exec cap #{target_stage} contents:import #{random_folder}/contents.tar.gz"
|
131
|
+
system "bundle exec cap -S force=true #{target_stage} contents:import #{random_folder}/contents.tar.gz"
|
115
132
|
|
116
133
|
# Remove the entire folder
|
117
134
|
FileUtils.rm_rf random_folder
|
118
135
|
end
|
136
|
+
|
137
|
+
desc "Synchronise #{target_stage} with #{source_stage}"
|
138
|
+
task "sync_#{target_stage}_with_#{source_stage}", :roles => [:app, :db], :except => { :no_release => true } do
|
139
|
+
# Ask for a confirmation
|
140
|
+
ask_for_confirmation "I am going to synchronise '#{target_stage}' with '#{source_stage}', it means I will overwrite both the database and the contents of '#{target_stage}' with those of '#{source_stage}', are you really sure you would like to continue (Yes, [No], Abort)", default:'N'
|
141
|
+
|
142
|
+
# Synchronise the database
|
143
|
+
system "bundle exec cap -S force=true multistage:sync_#{target_stage}_database_with_#{source_stage}"
|
144
|
+
|
145
|
+
# Synchronise the contents
|
146
|
+
system "bundle exec cap -S force=true multistage:sync_#{target_stage}_contents_with_#{source_stage}"
|
147
|
+
end
|
119
148
|
end
|
120
149
|
end
|
121
150
|
end
|
@@ -175,10 +175,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
175
175
|
|
176
176
|
if mysql_credentials.present?
|
177
177
|
# Ask for a confirmation
|
178
|
-
|
179
|
-
if response =~ /(no?)|(a(bort)?|\n)/i
|
180
|
-
abort "Canceled by the user."
|
181
|
-
end
|
178
|
+
ask_for_confirmation "I am going to replace the database of #{fetch :application} with the contents of #{import_filename_argv}, are you sure you would like to continue (Yes, [No], Abort)", default:'N'
|
182
179
|
|
183
180
|
# Transfer the SQL file to the server
|
184
181
|
# TODO: Try upload(filename, remote_file_name) function instead
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-exts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
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-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement: &
|
16
|
+
requirement: &2157047840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.8.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2157047840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: i18n
|
27
|
-
requirement: &
|
27
|
+
requirement: &2157047340 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.6.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2157047340
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
|
-
requirement: &
|
38
|
+
requirement: &2157046880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2157046880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: guard
|
49
|
-
requirement: &
|
49
|
+
requirement: &2157046420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.6.2
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2157046420
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: guard-bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &2152964960 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.1.3
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2152964960
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard-rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &2152961660 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.4.3
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2152961660
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &2152959180 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,8 +87,17 @@ dependencies:
|
|
87
87
|
version: 2.6.0
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
91
|
-
description:
|
90
|
+
version_requirements: *2152959180
|
91
|
+
description: ! 'capistrano-exts is a set of helper tasks to help with the initial
|
92
|
+
server
|
93
|
+
|
94
|
+
configuration and application provisioning. Things like creating the directory
|
95
|
+
|
96
|
+
structure, setting up that database, and other one-off you might find yourself
|
97
|
+
|
98
|
+
doing by hand far too often.
|
99
|
+
|
100
|
+
'
|
92
101
|
email:
|
93
102
|
- wael.nasreddine@gmail.com
|
94
103
|
executables: []
|
@@ -97,6 +106,7 @@ extra_rdoc_files: []
|
|
97
106
|
files:
|
98
107
|
- .gitignore
|
99
108
|
- .travis.yml
|
109
|
+
- ChangeLog
|
100
110
|
- Gemfile
|
101
111
|
- Guardfile
|
102
112
|
- MIT-LICENSE
|
@@ -168,7 +178,8 @@ rubyforge_project: capistrano-exts
|
|
168
178
|
rubygems_version: 1.8.10
|
169
179
|
signing_key:
|
170
180
|
specification_version: 3
|
171
|
-
summary:
|
181
|
+
summary: Set of helper tasks to help with the initial server configuration and application
|
182
|
+
provisioning.
|
172
183
|
test_files:
|
173
184
|
- spec/rendered_templates/nginx_php_fpm.conf
|
174
185
|
- spec/requests/nginx_spec.rb
|