Mina Puma
Mina tasks for handle with Puma.
This gem provides several mina tasks:
mina puma:restart # Restart puma
mina puma:start # Start puma
mina puma:stop # Stop puma
Installation
Add this line to your application's Gemfile:
gem 'mina-puma', :require => false
And then execute:
$ bundle
Or install it yourself as:
$ gem install mina-puma
Usage
Add this to your config/deploy.rb file:
require 'mina/puma'
Make sure the following settings are set in your config/deploy.rb:
deploy_to- deployment path
Make sure the following directories exists on your server:
shared/tmp/sockets- directory for socket files.shared/tmp/pids- direcotry for pid files.
OR you can set other directories by setting follow variables:
puma_socket- puma socket file, default isshared/tmp/sockets/puma.sockpuma_pid- puma pid file, defaultshared/tmp/pids/puma.pidpuma_state- puma state file, defaultshared/tmp/sockets/puma.statepumactl_socket- pumactl socket file, defaultshared/tmp/sockets/pumactl.sock
Then:
$ mina puma:start
Example
require 'mina/puma'
task :setup => :environment do
# Puma needs a place to store its pid file and socket file.
queue! %(mkdir -p "#{deploy_to}/#{shared_path}/tmp/sockets")
queue! %(chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/tmp/sockets")
queue! %(#{deploy_to}/#{shared_path}/tmp/pids")
queue! %(chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/tmp/pids")
...
end
task :deploy do
deploy do
invoke :'git:clone'
invoke :'deploy:link_shared_paths'
...
to :launch do
...
invoke :'puma:restart'
end
end
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request