Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/koenpunt/capistrano-pumactl

Puma server control tasks for Capistrano 3
https://github.com/koenpunt/capistrano-pumactl

capistrano puma ruby

Last synced: about 1 month ago
JSON representation

Puma server control tasks for Capistrano 3

Awesome Lists containing this project

README

        

# Capistrano::pumactl

Puma server control tasks for Capistrano 3

## Installation

```ruby
gem 'capistrano', '~> 3.1'
gem 'capistrano-pumactl'
```

And then execute:

$ bundle

Or install it yourself as:

$ gem install capistrano-pumactl

## Usage

Require in `Capfile`:

```ruby
require 'capistrano/pumactl'
```

Configurable options, shown here with defaults:

```ruby
set :pumactl_roles, :app
set :pumactl_config_file, -> { current_path.join('config/puma.rb') }
```

### Tasks

This gem provides the following Capistrano tasks:

* `pumactl:halt`
* `pumactl:restart`
* `pumactl:phased-restart`
* `pumactl:start`
* `pumactl:stats`
* `pumactl:reload-worker-directory`
* `pumactl:status`
* `pumactl:stop`

## Example

Instruct Capistrano to run a phased restart after deploy:

```ruby
# Hook phased-restart after publishing
after :'deploy:publishing', :'pumactl:phased-restart'
```

## Notes

When using `rbenv`, `rvm`, `chruby` and/or `bundler` don't forget to add `pumactl` to the bins list:

```ruby
fetch(:rbenv_map_bins, []).push 'pumactl'
fetch(:rvm_map_bins, []).push 'pumactl'
fetch(:chruby_map_bins, []).push 'pumactl'
fetch(:bundle_bins, []).push 'pumactl'
```

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request