capistrano-exts 1.10.1 → 1.10.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.todo +15 -0
- data/.travis.yml +1 -0
- data/Gemfile +18 -1
- data/README.md +1 -1
- data/TODO +11 -0
- data/capistrano-exts.gemspec +12 -13
- data/examples/rails_passenger/deploy/development.rb +4 -0
- data/examples/rails_passenger/deploy/production.rb +3 -0
- data/examples/rails_passenger/deploy/staging.rb +3 -0
- data/examples/rails_reverse_proxy/deploy/development.rb +3 -0
- data/examples/rails_reverse_proxy/deploy/production.rb +3 -0
- data/examples/rails_reverse_proxy/deploy/staging.rb +3 -0
- data/lib/capistrano-exts/receipts/deploy.rb +1 -1
- data/lib/capistrano-exts/receipts/mysql.rb +24 -0
- data/lib/capistrano-exts/receipts/rails.rb +1 -1
- data/lib/capistrano-exts/templates/multistage.rb +3 -0
- data/lib/capistrano-exts/templates/web_servers/nginx.conf.erb +29 -4
- data/lib/capistrano-exts/version.rb +1 -1
- data/spec/rendered_templates/nginx_passenger.conf +34 -0
- data/spec/rendered_templates/nginx_php_fpm.conf +13 -0
- data/spec/rendered_templates/nginx_reverse_proxy_address.conf +46 -0
- data/spec/rendered_templates/nginx_reverse_proxy_socket.conf +46 -0
- data/spec/requests/nginx_spec.rb +52 -1
- metadata +32 -24
data/.todo
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<todo version="0.1.20">
|
3
|
+
<note priority="high" time="1316510985">
|
4
|
+
Add skip_table_on_sync configuration, if defined, we should not replace these tables on the target's database.
|
5
|
+
</note>
|
6
|
+
<note priority="medium" time="1316510717">
|
7
|
+
Add a postgresql receipt (The postgresql receipt should have the same tasks defined in mysql)
|
8
|
+
</note>
|
9
|
+
<note priority="medium" time="1316510864">
|
10
|
+
Abstract mysql_* and postgresql_* so either can be used by calling 'cap db:*'
|
11
|
+
</note>
|
12
|
+
<note priority="medium" time="1316510880">
|
13
|
+
Add tests using Vagrant (branch vagrant)
|
14
|
+
</note>
|
15
|
+
</todo>
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,21 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in capistrano-exts.gemspec
|
4
|
-
gemspec
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
platforms :ruby do
|
7
|
+
# Require rbconfig to figure out the target OS
|
8
|
+
require 'rbconfig'
|
9
|
+
|
10
|
+
unless ENV['TRAVIS']
|
11
|
+
if RbConfig::CONFIG['target_os'] =~ /darwin/i
|
12
|
+
gem 'rb-fsevent', require: false
|
13
|
+
gem 'ruby-growl', require: false
|
14
|
+
gem 'growl', require: false
|
15
|
+
end
|
16
|
+
if RbConfig::CONFIG['target_os'] =~ /linux/i
|
17
|
+
gem 'rb-inotify', require: false
|
18
|
+
gem 'libnotify', require: false
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/README.md
CHANGED
data/TODO
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
- Add skip_table_on_sync configuration, if defined, we should not replace these tables on the target's database.
|
2
|
+
(added Tue Sep 20 11:29:45 2011, incomplete, priority high)
|
3
|
+
|
4
|
+
- Add a postgresql receipt (The postgresql receipt should have the same tasks defined in mysql)
|
5
|
+
(added Tue Sep 20 11:25:17 2011, incomplete, priority medium)
|
6
|
+
|
7
|
+
- Abstract mysql_* and postgresql_* so either can be used by calling 'cap db:*'
|
8
|
+
(added Tue Sep 20 11:27:44 2011, incomplete, priority medium)
|
9
|
+
|
10
|
+
- Add tests using Vagrant (branch vagrant)
|
11
|
+
(added Tue Sep 20 11:28:00 2011, incomplete, priority medium)
|
data/capistrano-exts.gemspec
CHANGED
@@ -18,27 +18,26 @@ help you import/export database and contents as well as sync one stage with
|
|
18
18
|
another.
|
19
19
|
EOD
|
20
20
|
|
21
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
|
22
|
+
|
21
23
|
s.files = `git ls-files`.split("\n")
|
22
24
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
25
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
26
|
s.require_paths = ["lib"]
|
25
27
|
|
26
28
|
# Run-time dependencies
|
27
|
-
s.add_dependency('capistrano', '
|
28
|
-
s.add_dependency('i18n', '
|
29
|
-
s.add_dependency('activesupport', '
|
29
|
+
s.add_dependency('capistrano', '~>2.8.0')
|
30
|
+
s.add_dependency('i18n', '~>0.6.0')
|
31
|
+
s.add_dependency('activesupport', '~>3.1.0')
|
30
32
|
|
31
33
|
# Development dependencies
|
32
|
-
s.add_development_dependency('guard', '
|
33
|
-
s.add_development_dependency('guard-bundler', '
|
34
|
-
s.add_development_dependency('guard-rspec', '
|
35
|
-
|
36
|
-
# Install this gem manually to get growl notifications on Mac OS X
|
37
|
-
# s.add_development_dependency('growl_notify', '0.0.1')
|
34
|
+
s.add_development_dependency('guard', '~>0.6.2')
|
35
|
+
s.add_development_dependency('guard-bundler', '~>0.1.3')
|
36
|
+
s.add_development_dependency('guard-rspec', '~>0.4.3')
|
38
37
|
|
39
38
|
# Development / Test dependencies
|
40
|
-
s.add_development_dependency('rspec', '
|
41
|
-
# s.add_development_dependency('mocha', '
|
42
|
-
# s.add_development_dependency('factory_girl', '
|
43
|
-
# s.add_development_dependency('faker19', '
|
39
|
+
s.add_development_dependency('rspec', '~>2.6.0')
|
40
|
+
# s.add_development_dependency('mocha', '~>0.2.12')
|
41
|
+
# s.add_development_dependency('factory_girl', '~>2.0.5')
|
42
|
+
# s.add_development_dependency('faker19', '~>1.0.5')
|
44
43
|
end
|
@@ -20,7 +20,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
20
20
|
|
21
21
|
desc "Fix permissions"
|
22
22
|
task :fix_permissions, :roles => :app do
|
23
|
-
|
23
|
+
if exists?(:app_owner) or exists?(:app_group)
|
24
24
|
run <<-CMD
|
25
25
|
#{try_sudo} chown -R \
|
26
26
|
#{fetch :app_owner, 'www-data'}:#{fetch :app_group, 'www-data'} \
|
@@ -334,6 +334,27 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
334
334
|
end
|
335
335
|
end
|
336
336
|
end
|
337
|
+
|
338
|
+
desc "Create database.yml in shared path"
|
339
|
+
task :write_database_yml, :roles => :db, :except => { :no_release => true } do
|
340
|
+
mysql_credentials = fetch :mysql_credentials
|
341
|
+
|
342
|
+
db_config = <<-EOF
|
343
|
+
production:
|
344
|
+
adapter: mysql2
|
345
|
+
encoding: utf8
|
346
|
+
reconnect: false
|
347
|
+
pool: 10
|
348
|
+
database: #{fetch :mysql_db_name}
|
349
|
+
username: #{mysql_credentials[:user]}
|
350
|
+
password: #{mysql_credentials[:pass]}
|
351
|
+
EOF
|
352
|
+
|
353
|
+
run <<-CMD
|
354
|
+
mkdir -p #{shared_path}/config
|
355
|
+
CMD
|
356
|
+
put db_config, "#{shared_path}/config/database.yml"
|
357
|
+
end
|
337
358
|
end
|
338
359
|
end
|
339
360
|
|
@@ -347,4 +368,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
347
368
|
|
348
369
|
before "mysql:print_credentials", "mysql:credentials"
|
349
370
|
before "mysql:print_root_credentials", "mysql:root_credentials"
|
371
|
+
|
372
|
+
# Write database.yml to shared path when using rails
|
373
|
+
after "mysql:write_credentials", "mysql:write_database_yml" if exists?(:capistrano_extensions) and capistrano_extensions.include?(:rails)
|
350
374
|
end
|
@@ -15,7 +15,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
15
15
|
namespace :rails do
|
16
16
|
desc "Install configuration files"
|
17
17
|
task :install_configuration_files, :roles => :app do
|
18
|
-
|
18
|
+
if exists?(:configuration_files)
|
19
19
|
fetch(:configuration_files).each { |configuration_file| link_config_file(configuration_file) }
|
20
20
|
end
|
21
21
|
end
|
@@ -21,6 +21,34 @@ server {
|
|
21
21
|
index <%= @indexes.join(' ') %>;
|
22
22
|
<% end %>
|
23
23
|
|
24
|
+
# This allows people to use images and css in their maintenance.html file
|
25
|
+
if ($request_filename ~* \.(css|jpg|gif|png)$) {
|
26
|
+
break;
|
27
|
+
}
|
28
|
+
# Rewrite all the requests to the maintenance.html page if it exists.
|
29
|
+
if (-f $document_root/system/maintenance.html) {
|
30
|
+
return 503;
|
31
|
+
}
|
32
|
+
# with 503 error code
|
33
|
+
location @503 {
|
34
|
+
rewrite ^(.*)$ /system/maintenance.html break;
|
35
|
+
}
|
36
|
+
|
37
|
+
<% if passenger? %>
|
38
|
+
passenger_enabled on;
|
39
|
+
|
40
|
+
# Rails errors
|
41
|
+
error_page 404 /404.html;
|
42
|
+
error_page 500 502 504 /500.html;
|
43
|
+
error_page 503 @503;
|
44
|
+
|
45
|
+
<% if mod_rewrite? %>
|
46
|
+
# this serves static files that exist without running other rewrite tests
|
47
|
+
if (-f $request_filename) {
|
48
|
+
break;
|
49
|
+
}
|
50
|
+
<% end %>
|
51
|
+
<% else %>
|
24
52
|
location / {
|
25
53
|
<% if mod_rewrite? %>
|
26
54
|
# this serves static files that exist without running other rewrite tests
|
@@ -46,6 +74,7 @@ server {
|
|
46
74
|
deny all;
|
47
75
|
}
|
48
76
|
<% end if @denied_access.present? %>
|
77
|
+
<% end %>
|
49
78
|
|
50
79
|
<% if php_fpm? %>
|
51
80
|
location ~ .php$ {
|
@@ -78,10 +107,6 @@ server {
|
|
78
107
|
<% end %>
|
79
108
|
}
|
80
109
|
<% end %>
|
81
|
-
|
82
|
-
<% if passenger? %>
|
83
|
-
passenger_enabled on;
|
84
|
-
<% end %>
|
85
110
|
}
|
86
111
|
|
87
112
|
<% if reverse_proxy? %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
server {
|
2
|
+
listen 80;
|
3
|
+
server_name technogate.fr www.technogate.fr;
|
4
|
+
|
5
|
+
root /home/vhosts/technogate/public;
|
6
|
+
|
7
|
+
# This allows people to use images and css in their maintenance.html file
|
8
|
+
if ($request_filename ~* \.(css|jpg|gif|png)$) {
|
9
|
+
break;
|
10
|
+
}
|
11
|
+
# Rewrite all the requests to the maintenance.html page if it exists.
|
12
|
+
if (-f $document_root/system/maintenance.html) {
|
13
|
+
return 503;
|
14
|
+
}
|
15
|
+
# with 503 error code
|
16
|
+
location @503 {
|
17
|
+
rewrite ^(.*)$ /system/maintenance.html break;
|
18
|
+
}
|
19
|
+
|
20
|
+
passenger_enabled on;
|
21
|
+
|
22
|
+
# Rails errors
|
23
|
+
error_page 404 /404.html;
|
24
|
+
error_page 500 502 504 /500.html;
|
25
|
+
error_page 503 @503;
|
26
|
+
|
27
|
+
|
28
|
+
# this serves static files that exist without running other rewrite tests
|
29
|
+
if (-f $request_filename) {
|
30
|
+
break;
|
31
|
+
}
|
32
|
+
|
33
|
+
|
34
|
+
}
|
@@ -6,6 +6,19 @@ server {
|
|
6
6
|
|
7
7
|
index index.php index.html;
|
8
8
|
|
9
|
+
# This allows people to use images and css in their maintenance.html file
|
10
|
+
if ($request_filename ~* \.(css|jpg|gif|png)$) {
|
11
|
+
break;
|
12
|
+
}
|
13
|
+
# Rewrite all the requests to the maintenance.html page if it exists.
|
14
|
+
if (-f $document_root/system/maintenance.html) {
|
15
|
+
return 503;
|
16
|
+
}
|
17
|
+
# with 503 error code
|
18
|
+
location @503 {
|
19
|
+
rewrite ^(.*)$ /system/maintenance.html break;
|
20
|
+
}
|
21
|
+
|
9
22
|
location / {
|
10
23
|
|
11
24
|
# this serves static files that exist without running other rewrite tests
|
@@ -0,0 +1,46 @@
|
|
1
|
+
server {
|
2
|
+
listen 80;
|
3
|
+
server_name technogate.fr www.technogate.fr;
|
4
|
+
|
5
|
+
# This allows people to use images and css in their maintenance.html file
|
6
|
+
if ($request_filename ~* \.(css|jpg|gif|png)$) {
|
7
|
+
break;
|
8
|
+
}
|
9
|
+
# Rewrite all the requests to the maintenance.html page if it exists.
|
10
|
+
if (-f $document_root/system/maintenance.html) {
|
11
|
+
return 503;
|
12
|
+
}
|
13
|
+
# with 503 error code
|
14
|
+
location @503 {
|
15
|
+
rewrite ^(.*)$ /system/maintenance.html break;
|
16
|
+
}
|
17
|
+
|
18
|
+
location / {
|
19
|
+
|
20
|
+
# this serves static files that exist without running other rewrite tests
|
21
|
+
if (-f $request_filename) {
|
22
|
+
expires 30d;
|
23
|
+
break;
|
24
|
+
}
|
25
|
+
|
26
|
+
# this sends all non-existing file or directory requests to index.php
|
27
|
+
if (!-e $request_filename) {
|
28
|
+
rewrite ^(.+)$ /index.php?q=$1 last;
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
proxy_pass http://technogate_reverse_proxy;
|
34
|
+
proxy_set_header Host $host;
|
35
|
+
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
}
|
41
|
+
|
42
|
+
upstream technogate_reverse_proxy {
|
43
|
+
|
44
|
+
server localhost:8080 fail_timeout=0;
|
45
|
+
|
46
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
server {
|
2
|
+
listen 80;
|
3
|
+
server_name technogate.fr www.technogate.fr;
|
4
|
+
|
5
|
+
# This allows people to use images and css in their maintenance.html file
|
6
|
+
if ($request_filename ~* \.(css|jpg|gif|png)$) {
|
7
|
+
break;
|
8
|
+
}
|
9
|
+
# Rewrite all the requests to the maintenance.html page if it exists.
|
10
|
+
if (-f $document_root/system/maintenance.html) {
|
11
|
+
return 503;
|
12
|
+
}
|
13
|
+
# with 503 error code
|
14
|
+
location @503 {
|
15
|
+
rewrite ^(.*)$ /system/maintenance.html break;
|
16
|
+
}
|
17
|
+
|
18
|
+
location / {
|
19
|
+
|
20
|
+
# this serves static files that exist without running other rewrite tests
|
21
|
+
if (-f $request_filename) {
|
22
|
+
expires 30d;
|
23
|
+
break;
|
24
|
+
}
|
25
|
+
|
26
|
+
# this sends all non-existing file or directory requests to index.php
|
27
|
+
if (!-e $request_filename) {
|
28
|
+
rewrite ^(.+)$ /index.php?q=$1 last;
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
proxy_pass http://technogate_reverse_proxy;
|
34
|
+
proxy_set_header Host $host;
|
35
|
+
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
}
|
41
|
+
|
42
|
+
upstream technogate_reverse_proxy {
|
43
|
+
|
44
|
+
server unix:/home/vhosts/technogate/tmp/unicorn.sock;
|
45
|
+
|
46
|
+
}
|
data/spec/requests/nginx_spec.rb
CHANGED
@@ -28,11 +28,62 @@ describe Nginx do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
describe ":passenger" do
|
31
|
+
subject { Nginx.new :passenger}
|
31
32
|
|
33
|
+
before(:each) do
|
34
|
+
@application_url = %w(technogate.fr www.technogate.fr)
|
35
|
+
@application = 'technogate'
|
36
|
+
@public_path = '/home/vhosts/technogate/public'
|
37
|
+
|
38
|
+
subject.application_url = @application_url
|
39
|
+
subject.application = @application
|
40
|
+
subject.public_path = @public_path
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should render the correct file" do
|
44
|
+
expected_result = File.read File.join(RENDERED_TEMPLATES_PATH, 'nginx_passenger.conf')
|
45
|
+
subject.render.should == expected_result
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe ":reverse_proxy socket" do
|
50
|
+
subject { Nginx.new :reverse_proxy}
|
51
|
+
|
52
|
+
before(:each) do
|
53
|
+
@application_url = %w(technogate.fr www.technogate.fr)
|
54
|
+
@application = 'technogate'
|
55
|
+
@reverse_proxy_socket = '/home/vhosts/technogate/tmp/unicorn.sock'
|
56
|
+
|
57
|
+
subject.application_url = @application_url
|
58
|
+
subject.application = @application
|
59
|
+
subject.reverse_proxy_socket = @reverse_proxy_socket
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should render the correct file" do
|
63
|
+
expected_result = File.read File.join(RENDERED_TEMPLATES_PATH, 'nginx_reverse_proxy_socket.conf')
|
64
|
+
subject.render.should == expected_result
|
65
|
+
end
|
32
66
|
end
|
33
67
|
|
34
|
-
describe ":reverse_proxy" do
|
68
|
+
describe ":reverse_proxy address" do
|
69
|
+
subject { Nginx.new :reverse_proxy}
|
35
70
|
|
71
|
+
before(:each) do
|
72
|
+
@application_url = %w(technogate.fr www.technogate.fr)
|
73
|
+
@application = 'technogate'
|
74
|
+
@reverse_proxy_server_address = 'localhost'
|
75
|
+
@reverse_proxy_server_port = '8080'
|
76
|
+
|
77
|
+
subject.application_url = @application_url
|
78
|
+
subject.application = @application
|
79
|
+
subject.reverse_proxy_server_address = @reverse_proxy_server_address
|
80
|
+
subject.reverse_proxy_server_port = @reverse_proxy_server_port
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should render the correct file" do
|
84
|
+
expected_result = File.read File.join(RENDERED_TEMPLATES_PATH, 'nginx_reverse_proxy_address.conf')
|
85
|
+
subject.render.should == expected_result
|
86
|
+
end
|
36
87
|
end
|
37
88
|
|
38
89
|
end
|
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.10.
|
4
|
+
version: 1.10.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,85 +9,85 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement: &
|
16
|
+
requirement: &2153266900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 2.8.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2153266900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: i18n
|
27
|
-
requirement: &
|
27
|
+
requirement: &2153265780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.6.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2153265780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
|
-
requirement: &
|
38
|
+
requirement: &2153264640 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 3.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2153264640
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: guard
|
49
|
-
requirement: &
|
49
|
+
requirement: &2153249860 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.6.2
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2153249860
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: guard-bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &2153247580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
|
-
- -
|
63
|
+
- - ~>
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: 0.1.3
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2153247580
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard-rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &2153246300 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ~>
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: 0.4.3
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2153246300
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &2153245320 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
|
-
- -
|
85
|
+
- - ~>
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: 2.6.0
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2153245320
|
91
91
|
description: ! 'Capistrano exts is a set of helper tasks to help with the initial
|
92
92
|
server
|
93
93
|
|
@@ -109,6 +109,7 @@ extensions: []
|
|
109
109
|
extra_rdoc_files: []
|
110
110
|
files:
|
111
111
|
- .gitignore
|
112
|
+
- .todo
|
112
113
|
- .travis.yml
|
113
114
|
- ChangeLog
|
114
115
|
- Gemfile
|
@@ -116,6 +117,7 @@ files:
|
|
116
117
|
- MIT-LICENSE
|
117
118
|
- README.md
|
118
119
|
- Rakefile
|
120
|
+
- TODO
|
119
121
|
- capistrano-exts.gemspec
|
120
122
|
- examples/php_fpm/deploy.rb
|
121
123
|
- examples/php_fpm/deploy/development.rb
|
@@ -155,7 +157,10 @@ files:
|
|
155
157
|
- lib/capistrano-exts/templates/multistage.rb
|
156
158
|
- lib/capistrano-exts/templates/web_servers/nginx.conf.erb
|
157
159
|
- lib/capistrano-exts/version.rb
|
160
|
+
- spec/rendered_templates/nginx_passenger.conf
|
158
161
|
- spec/rendered_templates/nginx_php_fpm.conf
|
162
|
+
- spec/rendered_templates/nginx_reverse_proxy_address.conf
|
163
|
+
- spec/rendered_templates/nginx_reverse_proxy_socket.conf
|
159
164
|
- spec/requests/nginx_spec.rb
|
160
165
|
- spec/servers/web_server/nginx_spec.rb
|
161
166
|
- spec/spec_helper.rb
|
@@ -170,7 +175,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
170
175
|
requirements:
|
171
176
|
- - ! '>='
|
172
177
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
178
|
+
version: 1.9.2
|
174
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
180
|
none: false
|
176
181
|
requirements:
|
@@ -185,7 +190,10 @@ specification_version: 3
|
|
185
190
|
summary: Set of helper tasks to help with the initial server configuration and application
|
186
191
|
provisioning.
|
187
192
|
test_files:
|
193
|
+
- spec/rendered_templates/nginx_passenger.conf
|
188
194
|
- spec/rendered_templates/nginx_php_fpm.conf
|
195
|
+
- spec/rendered_templates/nginx_reverse_proxy_address.conf
|
196
|
+
- spec/rendered_templates/nginx_reverse_proxy_socket.conf
|
189
197
|
- spec/requests/nginx_spec.rb
|
190
198
|
- spec/servers/web_server/nginx_spec.rb
|
191
199
|
- spec/spec_helper.rb
|