
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
This is a capistrano v3 plugin that integrates Unicorn tasks into capistrano deployment scripts; it was heavily inspired by sosedoff/capistrano-unicorn but written from scratch to use the capistrano 3 syntax.
The unicorn:start
task invokes unicorn as bundle exec unicorn
.
When running tasks not during a full deployment, you may need to run the rvm:hook
:
cap production rvm:hook unicorn:start
You can override the defaults by set :unicorn_example, value
in the config/deploy.rb
or config/deploy/ENVIRONMENT.rb
capistrano deployment files.
Example Unicorn config examples/unicorn.rb
:unicorn_pid
Default assumes your pid file will be located in CURRENT_PATH/tmp/pids/unicorn.pid
. The unicorn_pid should be defined with an absolute path.
:unicorn_config_path
Default assumes that your Unicorn configuration will be located in CURRENT_PATH/config/unicorn/RAILS_ENV.rb
:unicorn_roles
Roles to run unicorn commands on. Defaults to :app
:unicorn_options
Set any additional options to be passed to unicorn on startup. Defaults to none
:unicorn_rack_env
Set the RACK_ENV. Defaults to deployment unless the RAILS_ENV is development. Valid options are "development", "deployment", or "none". See the RACK ENVIRONMENT section of the unicorn documentation for more information.
:unicorn_bundle_gemfile
REMOVED in v0.2.0
Set the BUNDLE_GEMFILE in a before_exec block in your unicorn.rb. See sandbox and unicorn-restart-issue-with-capistrano
:unicorn_restart_sleep_time
In unicorn:legacy_restart
send the USR2 signal, sleep for this many seconds (defaults to 3), then send the QUIT signal
Add the library to your Gemfile
:
group :development do
gem 'capistrano3-unicorn'
end
Add the library to your Capfile
:
require 'capistrano3/unicorn'
Invoke Unicorn from your config/deploy.rb
or config/deploy/ENVIRONMENT.rb
:
If preload_app:true
use:
after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
task :restart do
invoke 'unicorn:restart'
end
end
If preload_app:true
and you need capistrano to cleanup your oldbin pid use:
after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
task :restart do
invoke 'unicorn:legacy_restart'
end
end
Otherwise use:
after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
task :restart do
invoke 'unicorn:reload'
end
end
Note that presently you must put the invoke
outside any on
block since the task handles this for you; otherwise you will get an undefined method 'verbosity'
error.
FAQs
Unknown package
We found that capistrano3-unicorn demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.