https://github.com/creative-workflow/capistrano-pm2
This is a pm2 handler for capistrano 3.x.
https://github.com/creative-workflow/capistrano-pm2
Last synced: 10 months ago
JSON representation
This is a pm2 handler for capistrano 3.x.
- Host: GitHub
- URL: https://github.com/creative-workflow/capistrano-pm2
- Owner: creative-workflow
- License: mit
- Created: 2015-09-03T14:09:22.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-10-17T06:44:31.000Z (over 7 years ago)
- Last Synced: 2025-06-26T22:41:08.002Z (11 months ago)
- Language: Ruby
- Size: 28.3 KB
- Stars: 20
- Watchers: 5
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Capistrano::pm2 [](http://badge.fury.io/rb/capistrano-pm2)
nodejs [pm2](https://github.com/Unitech/pm2) support for Capistrano 3.x
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-pm2'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-pm2
## Usage
Require in `Capfile` to use the default task:
```ruby
require 'capistrano/pm2'
```
The task will run before `deploy:restart` as part of Capistrano's default deploy,
or can be run in isolation with `cap production pm2:restart`. You can also invoke it in your `deploy.rb`:
```ruby
namespace :deploy do
desc 'Restart application'
task :restart do
# invoke 'npm:install'
invoke 'pm2:restart'
end
after :publishing, :restart
end
```
Available Tasks
```ruby
cap pm2:delete # Delete pm2 application
cap pm2:list # Show pm2 application info
cap pm2:logs # Watch pm2 logs
cap pm2:restart # Restart app gracefully
cap pm2:setup # Install pm2 via npm on the remote host
cap pm2:start # Start pm2 application
cap pm2:status # List all pm2 applications
cap pm2:stop # Stop pm2 application
cap pm2:save # Save pm2 state so it can be loaded after restart
```
Configurable options:
```ruby
set :pm2_app_command, 'main.js' # the main program
set :pm2_app_name, fetch(:application) # name for pm2 app
set :pm2_target_path, -> { release_path } # where to run pm2 commands
set :pm2_roles, :all # server roles where pm2 runs on
set :pm2_env_variables, {} # default: env vars for pm2
set :pm2_start_params, '' # pm2 start params see http://pm2.keymetrics.io/docs/usage/quick-start/#cheat-sheet
```
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request