Sha256: dde9bf5a6d2bab98894cf50c348a0c1ce08651494cad1921a326ada1dbf5a222

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

module CapistranoDeployManagement
  module Puma
    def self.load_into(configuration)
      configuration.load do

        # set(:puma_config)   { "#{current_path}/config/puma.rb" }
        set(:puma_port)     { "cat #{current_path}/config/puma.rb" }
        set(:puma_pidfile)  { "#{deploy_to}/shared/pids/puma.pid" }
        set(:puma_pid)      { "cat #{deploy_to}/shared/pids/puma.pid" }

        namespace :puma do
          desc 'Restart puma.'
          task :restart, :roles => :app, :except => {:no_release => true} do
            puma.stop
            puma.start
          end

          desc 'Start puma.'
          task :start, :roles => :app, :except => {:no_release => true} do
            # run "cd #{current_path} && puma -C #{puma_config}"
            # TODO: fix hardcoded port setting by using a config file
            run "cd #{current_path} && bundle exec rails s puma --port $(#{puma_port}) -e #{rails_env} --pidfile #{puma_pidfile}"
          end

          desc 'Stop puma.'
          task :stop, :roles => :app, :except => {:no_release => true} do
            run "test -s #{puma_pidfile} && kill $(#{puma_pid}) || echo 'puma not running. nothing to kill.'"
          end
        end

        after 'deploy:restart', 'puma:restart'

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-deploy-management-0.1.14 lib/capistrano-deploy-management/puma.rb