Sha256: 955c24986ac20674f85e30661710d5df26c764c8c9175dda794bdb4bd01597c0

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

require 'capistrano/nginx_unicorn/helpers'

include Capistrano::NginxUnicorn::Helpers

namespace :nginx do
  desc "Setup nginx configuration"
  task :setup do
    on roles(:web) do
      execute :mkdir, "-p", shared_path.join("log")
      template("nginx_conf.erb", "/tmp/nginx_#{fetch(:nginx_config_name)}")
      if fetch(:nginx_config_path) == "/etc/nginx/sites-available"
        sudo :mv, "/tmp/nginx_#{fetch(:nginx_config_name)} /etc/nginx/sites-available/#{fetch(:nginx_config_name)}"
        sudo :ln, "-fs", "/etc/nginx/sites-available/#{fetch(:nginx_config_name)} /etc/nginx/sites-enabled/#{fetch(:nginx_config_name)}"
      else
        sudo :mv, "/tmp/#{fetch(:nginx_config_name)} #{fetch(:nginx_config_path)}/#{fetch(:nginx_config_name)}"
      end
    end
  end

  desc "Setup nginx ssl certs"
  task :setup_ssl do
    on roles(:web) do
      if fetch(:nginx_use_ssl)
        if fetch(:nginx_upload_local_certificate)
          upload! fetch(:nginx_ssl_certificate_local_path), "/tmp/#{fetch(:nginx_ssl_certificate)}"
          upload! fetch(:nginx_ssl_certificate_key_local_path), "/tmp/#{fetch(:nginx_ssl_certificate_key)}"

          sudo :mv, "/tmp/#{fetch(:nginx_ssl_certificate)} /etc/ssl/certs/#{fetch(:nginx_ssl_certificate)}"
          sudo :mv, "/tmp/#{fetch(:nginx_ssl_certificate_key)} /etc/ssl/private/#{fetch(:nginx_ssl_certificate_key)}"
        end

        sudo :chown, "root:root /etc/ssl/certs/#{fetch(:nginx_ssl_certificate)}"
        sudo :chown, "root:root /etc/ssl/private/#{fetch(:nginx_ssl_certificate_key)}"
      end
    end
  end

  desc "Reload nginx configuration"
  task :reload do
    on roles(:web) do
      sudo "/etc/init.d/nginx reload"
    end
  end
end

namespace :deploy do
  after :publishing, "nginx:reload"
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
capistrano-nginx-unicorn-0.1.0 lib/capistrano/tasks/nginx.rake
capistrano-nginx-unicorn-0.1.0.pre lib/capistrano/tasks/nginx.rake