ms_deploy 0.0.7 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -73,8 +73,7 @@ set(:shared_directories_to_create) {
73
73
 
74
74
  set(:shared_directories_to_link) {
75
75
  {
76
- "#{shared_path}/bundle/" => "#{release_path}/vendor/bundle",
77
- "#{shared_path}/solr/" => "#{release_path}/solr"
76
+ "#{shared_path}/bundle/" => "#{release_path}/vendor/bundle"
78
77
  }
79
78
  }
80
79
 
@@ -87,15 +86,15 @@ set(:directories_to_create) {
87
86
 
88
87
  set(:files_to_link) {
89
88
  {
90
- "#{shared_path}/config/config.production.yml" => "#{release_path}/config/config.local.yml",
91
- "#{shared_path}/config/unicorn.production.rb" => "#{release_path}/config/unicorn.production.rb"
89
+ "#{shared_path}/config/config.#{stage}.yml" => "#{release_path}/config/config.local.yml",
90
+ "#{shared_path}/config/unicorn.#{stage}.rb" => "#{release_path}/config/unicorn.production.rb"
92
91
  }
93
92
  }
94
93
 
95
94
  set(:config_file_to_setup) {
96
95
  [
97
- "config.production.yml",
98
- "unicorn.production.rb"
96
+ "config.#{stage}.yml",
97
+ "unicorn.#{stage}.rb"
99
98
  ]
100
99
  }
101
100
 
@@ -8,6 +8,7 @@ Capistrano::Configuration.instance.load do
8
8
  end
9
9
 
10
10
  after 'deploy', 'deploy:assets:compile'
11
+ after 'deploy:migrations', 'deploy:assets:compile'
11
12
 
12
13
  end
13
14
  end
@@ -1,15 +1,15 @@
1
1
  Capistrano::Configuration.instance.load do
2
2
 
3
3
  set :unicorn_binary, "bundle exec unicorn"
4
- set :unicorn_config, "#{current_path}/config/unicorn.production.rb"
5
- set :unicorn_pid, "#{current_path}/tmp/pids/unicorn.pid"
4
+ set :unicorn_config, "config/unicorn.#{fetch(:stage, 'production')}.rb"
5
+ set :unicorn_pid, "tmp/pids/unicorn.pid"
6
6
 
7
7
  namespace :deploy do
8
8
  task :start, :roles => :app, :except => { :no_release => true } do
9
- run "cd #{current_path} && #{try_sudo} #{unicorn_binary} -c #{unicorn_config} -E #{rails_env} -D"
9
+ run "cd #{current_path} && #{try_sudo} #{unicorn_binary} -c #{current_path}/#{unicorn_config} -E #{rails_env} -D"
10
10
  end
11
11
  task :stop, :roles => :app, :except => { :no_release => true } do
12
- run "if [ -f #{unicorn_pid} ]; then #{try_sudo} kill `cat #{unicorn_pid}`; fi"
12
+ run "if [ -f #{current_path}/#{unicorn_pid} ]; then #{try_sudo} kill `cat #{current_path}/#{unicorn_pid}`; fi"
13
13
  end
14
14
  task :graceful_stop, :roles => :app, :except => { :no_release => true } do
15
15
  run "#{try_sudo} kill -s QUIT `cat #{unicorn_pid}`"
@@ -30,16 +30,16 @@ Capistrano::Configuration.instance.load do
30
30
 
31
31
  task :install do
32
32
  template_path = File.expand_path('../../templates/vhost.erb', __FILE__)
33
- vars = {'application'=> application, 'project_root' => deploy_to + '/current', 'domain' => vhost_domain}
33
+ vars = {'application'=> application, 'project_root' => deploy_to + '/current', 'domain' => vhost_domain, 'stage' => stage, 'auth_basic_title' => fetch(:auth_basic_title, nil), 'auth_basic_password_file' => fetch(:auth_basic_password_file, nil)}
34
34
  config_path = "#{shared_path}/config/#{application}_vhost.conf"
35
35
 
36
36
  put(render_erb_template(template_path, vars), config_path)
37
- sudo "rm -f /etc/nginx/sites-enabled/#{application}.conf"
38
- sudo "ln -s #{config_path} /etc/nginx/sites-enabled/#{application}.conf"
37
+ sudo "rm -f /etc/nginx/sites-enabled/#{application}_#{stage}.conf"
38
+ sudo "ln -s #{config_path} /etc/nginx/sites-enabled/#{application}_#{stage}.conf"
39
39
  end
40
40
 
41
41
  task :uninstall do
42
- sudo "rm -f /etc/nginx/sites-enabled/#{application}.conf"
42
+ sudo "rm -f /etc/nginx/sites-enabled/#{application}_#{stage}.conf"
43
43
  end
44
44
  end
45
45
  end
@@ -1,11 +1,11 @@
1
1
 
2
- upstream <%= application %>_server {
2
+ upstream <%= application %>_<%= stage %>_server {
3
3
  # fail_timeout=0 means we always retry an upstream even if it failed
4
4
  # to return a good HTTP response (in case the Unicorn master nukes a
5
5
  # single worker for timing out).
6
6
 
7
7
  # This is the socket we configured in unicorn.rb
8
- server unix:/tmp/sockets/<%= application %>.sock fail_timeout=0;
8
+ server unix:/tmp/sockets/<%= application %>_<%= stage %>.sock fail_timeout=0;
9
9
 
10
10
  # for TCP setups, point these to your backend servers
11
11
  # server 127.0.0.1:8080 fail_timeout=0;
@@ -67,9 +67,14 @@ server {
67
67
  # proxy_buffering off;
68
68
 
69
69
  if (!-f $request_filename) {
70
- proxy_pass http://<%= application %>_server;
70
+ proxy_pass http://<%= application %>_<%= stage %>_server;
71
71
  break;
72
72
  }
73
+
74
+ <% if auth_basic_title %>
75
+ auth_basic "<%= auth_basic_title %>";
76
+ auth_basic_user_file <%= auth_basic_password_file %>;
77
+ <% end %>
73
78
  }
74
79
 
75
80
  # Rails error pages
@@ -1,3 +1,3 @@
1
1
  module MsDeploy
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ms_deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.10
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: 2012-01-11 00:00:00.000000000 Z
12
+ date: 2012-01-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
- requirement: &72729820 !ruby/object:Gem::Requirement
16
+ requirement: &77667400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *72729820
24
+ version_requirements: *77667400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capistrano-ext
27
- requirement: &72729240 !ruby/object:Gem::Requirement
27
+ requirement: &77666540 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *72729240
35
+ version_requirements: *77666540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: erubis
38
- requirement: &72728770 !ruby/object:Gem::Requirement
38
+ requirement: &77665970 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *72728770
46
+ version_requirements: *77665970
47
47
  description: capistrano deployment task for my projects
48
48
  email:
49
49
  - michael.schiller@gmx.de
@@ -68,7 +68,6 @@ files:
68
68
  - lib/ms_deploy/recipes/redis.rb
69
69
  - lib/ms_deploy/recipes/whenever.rb
70
70
  - lib/ms_deploy/render.rb
71
- - lib/ms_deploy/templates/ssl_vhost.erb
72
71
  - lib/ms_deploy/templates/vhost.erb
73
72
  - lib/ms_deploy/version.rb
74
73
  - ms_deploy.gemspec
@@ -1,85 +0,0 @@
1
-
2
- upstream <%= application %>_server {
3
- # fail_timeout=0 means we always retry an upstream even if it failed
4
- # to return a good HTTP response (in case the Unicorn master nukes a
5
- # single worker for timing out).
6
-
7
- # This is the socket we configured in unicorn.rb
8
- server unix: <%= project_root %>/tmp/sockets/unicorn.sock fail_timeout=0;
9
-
10
- # for TCP setups, point these to your backend servers
11
- # server 127.0.0.1:8080 fail_timeout=0;
12
- # server 192.168.0.8:8080 fail_timeout=0;
13
- # server 192.168.0.9:8080 fail_timeout=0;
14
- }
15
-
16
- server {
17
-
18
- listen 443;
19
- server_name <%= domain %>;
20
-
21
- ssl on;
22
- ssl_certificate /usr/local/nginx/conf/cert.pem;
23
- ssl_certificate_key /usr/local/nginx/conf/cert.key;
24
-
25
- client_max_body_size 4G;
26
-
27
- # ~2 seconds is often enough for most folks to parse HTML/CSS and
28
- # retrieve needed images/icons/frames, connections are cheap in
29
- # nginx so increasing this is generally safe...
30
- #keepalive_timeout 5;
31
-
32
- # path for static files
33
- root <%= project_root %>/public;
34
-
35
- # Prefer to serve static files directly from nginx to avoid unnecessary
36
- # data copies from the application server.
37
- #
38
- # try_files directive appeared in in nginx 0.7.27 and has stabilized
39
- # over time. Older versions of nginx (e.g. 0.6.x) requires
40
- # "if (!-f $request_filename)" which was less efficient:
41
- # http://bogomips.org/unicorn.git/tree/examples/nginx.conf?id=v3.3.1#n127
42
- try_files $uri/index.html $uri.html $uri @app;
43
-
44
- location / {
45
- # an HTTP header important enough to have its own Wikipedia entry:
46
- # http://en.wikipedia.org/wiki/X-Forwarded-For
47
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
48
-
49
- # enable this if and only if you use HTTPS, this helps Rack
50
- # set the proper protocol for doing redirects:
51
- # proxy_set_header X-Forwarded-Proto https;
52
-
53
- # pass the Host: header from the client right along so redirects
54
- # can be set properly within the Rack application
55
- proxy_set_header Host $http_host;
56
-
57
- # we don't want nginx trying to do something clever with
58
- # redirects, we set the Host: header above already.
59
- proxy_redirect off;
60
-
61
- # set "proxy_buffering off" *only* for Rainbows! when doing
62
- # Comet/long-poll/streaming. It's also safe to set if you're using
63
- # only serving fast clients with Unicorn + nginx, but not slow
64
- # clients. You normally want nginx to buffer responses to slow
65
- # clients, even with Rails 3.1 streaming because otherwise a slow
66
- # client can become a bottleneck of Unicorn.
67
- #
68
- # The Rack application may also set "X-Accel-Buffering (yes|no)"
69
- # in the response headers do disable/enable buffering on a
70
- # per-response basis.
71
- # proxy_buffering off;
72
-
73
- if (!-f $request_filename) {
74
- proxy_pass http://app_server;
75
- break;
76
- }
77
- }
78
-
79
- # Rails error pages
80
- error_page 500 502 503 504 /500.html;
81
- location = /500.html {
82
- root <%= project_root %>/public;
83
- }
84
- }
85
-