When deploying an app with capistrano to a VPS, my deployment script is running bundle install with a quiet flag. Is there a way to make it run without the quiet flag. There's nothing in the deploy.rb file (borrowed from Ryan Bates) that seems to set it to quiet.
command finished in 161ms
* 2013-06-27 12:57:07 executing `bundle:install'
* executing "cd /home/brain/apps/dogapp/releases/2013044444 && bundle install --gemfile /home/brain/apps/dogapp/releases/2013044444/Gemfile --path /home/brain/apps/dogapp/shared/bundle --deployment --quiet --without development test"
Deploy.rb
require "bundler/capistrano"
server "198.69.696969.69", :web, :app, :db, primary: true
set :application, "dogapp"
set :user, "brain"
set :deploy_to, "/home/#{user}/apps/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false
set :scm, "git"
set :repository, "[email protected]:braindead/dogapp.git"
set :branch, "master"
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
after "deploy", "deploy:cleanup" # keep only the last 5 releases
namespace :deploy do
%w[start stop restart].each do |command|
desc "#{command} unicorn server"
task command, roles: :app, except: {no_release: true} do
run "/etc/init.d/unicorn_#{application} #{command}"
end
end
task :setup_config, roles: :app do
sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"
sudo "ln -nfs #{current_path}/config/unicorn_init.sh /etc/init.d/unicorn_#{application}"
run "mkdir -p #{shared_path}/config"
put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml"
puts "Now edit the config files in #{shared_path}."
end
after "deploy:setup", "deploy:setup_config"
task :symlink_config, roles: :app do
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
end
after "deploy:finalize_update", "deploy:symlink_config"
desc "Make sure local git is in sync with remote."
task :check_revision, roles: :web do
unless `git rev-parse HEAD` == `git rev-parse origin/master`
puts "WARNING: HEAD is not the same as origin/master"
puts "Run `git push` to sync changes."
exit
end
end
before "deploy", "deploy:check_revision"
end
As a result, you should run bundle install as the current user, and Bundler will ask for your password if it is needed to put the gems into their final location. By default, bundle install will install all gems in all groups in your Gemfile (5), except those declared for a different platform.
Since bundler will no longer remember CLI flags in future versions, bundle config (see bundle-config (1)) should be used to apply them permanently. Binstubs are scripts that wrap around executables. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it in bin/ .
These executables run in Bundler's context. If used, you might add this directory to your environment's PATH variable. For instance, if the rails gem comes with a rails executable, this flag will create a bin/rails executable that ensures that all referred dependencies will be resolved using the bundled gems.
(If it's the only .bundle file in your current directory, you can just use chmod +x *.bundle and ./*.bundle. Or type the first few characters of the filename and press Tab, and the shell will type the rest out for you .) Why sudo? Virtualization software, such as VMware products, must be installed as root.
set :bundle_flags, "--deployment"
Via http://henriksjokvist.net/archive/2012/2/deploying-with-rbenv-and-capistrano/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With