Cuando intento enviar ssh a un servidor, puedo hacerlo ya que mi clave id_rsa.pub
se agrega a las claves autorizadas en el servidor.Capistrano pregunta por la contraseña de SSH al implementar desde la máquina local al servidor
Ahora cuando intento de implementar mi código a través de Capistrano al servidor de mi carpeta de proyecto local, el servidor solicita una contraseña.
Soy incapaz de entender lo que podría ser el problema si soy capaz de ssh e incapaz de implementar en el mismo servidor.
$ tapa de despliegue: configuración de la escritura
"no seed data"
triggering start callbacks for `deploy:setup'
* 13:42:18 == Currently executing `multistage:ensure'
*** Defaulting to `development'
* 13:42:18 == Currently executing `development'
* 13:42:18 == Currently executing `deploy:setup'
triggering before callbacks for `deploy:setup'
* 13:42:18 == Currently executing `db:configure_mongoid'
* executing "mkdir -p /home/deploy/apps/development/flyingbird/shared/config"
servers: ["dev1.noob.com", "176.9.24.217"]
Password:
Cap:
# gem install capistrano capistrano-ext capistrano_colors
begin; require 'capistrano_colors'; rescue LoadError; end
require "bundler/capistrano"
# RVM bootstrap
# $:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
set :rvm_ruby_string, 'ruby-1.9.2-p290'
set :rvm_type, :user # or :user
# Application setup
default_run_options[:pty] = true # allow pseudo-terminals
ssh_options[:forward_agent] = true # forward SSH keys (this will use your SSH key to get the code from git repository)
ssh_options[:port] = 22
set :ip, "dev1.noob.com"
set :application, "flyingbird"
set :repository, "repo-path"
set :scm, :git
set :branch, fetch(:branch, "master")
set :deploy_via, :remote_cache
set :rails_env, "production"
set :use_sudo, false
set :scm_username, "user"
set :user, "user1"
set(:database_username) { application }
set(:production_database) { application + "_production" }
set(:staging_database) { application + "_staging" }
set(:development_database) { application + "_development" }
role :web, ip # Your HTTP server, Apache/etc
role :app, ip # This may be the same as your `Web` server
role :db, ip, :primary => true # This is where Rails migrations will run
# Use multi-staging
require "capistrano/ext/multistage"
set :stages, ["development", "staging", "production"]
set :default_stage, rails_env
before "deploy:setup", "db:configure_mongoid"
# Uncomment if you use any of these databases
after "deploy:update_code", "db:symlink_mongoid"
after "deploy:update_code", "uploads:configure_shared"
after "uploads:configure_shared", "uploads:symlink"
after 'deploy:update_code', 'bundler:symlink_bundled_gems'
after 'deploy:update_code', 'bundler:install'
after "deploy:update_code", "rvm:trust_rvmrc"
# Use this to update crontab if you use 'whenever' gem
# after "deploy:symlink", "deploy:update_crontab"
if ARGV.include?("seed_data")
after "deploy", "db:seed"
else
p "no seed data"
end
#Custom tasks to handle resque and redis restart
before "deploy", "deploy:stop_workers"
after "deploy", "deploy:restart_redis"
after "deploy", "deploy:start_workers"
after "deploy", "deploy:cleanup"
'Create symlink for public uploads'
namespace :uploads do
task :symlink do
run <<-CMD
rm -rf #{release_path}/public/uploads &&
mkdir -p #{release_path}/public &&
ln -nfs #{shared_path}/public/uploads #{release_path}/public/uploads
CMD
end
task :configure_shared do
run "mkdir -p #{shared_path}/public"
run "mkdir -p #{shared_path}/public/uploads"
end
end
namespace :rvm do
desc 'Trust rvmrc file'
task :trust_rvmrc do
run "rvm rvmrc trust #{current_release}"
end
end
namespace :db do
desc "Create mongoid.yml in shared path"
task :configure_mongoid do
db_config = <<-EOF
defaults: &defaults
host: localhost
production:
<<: *defaults
database: #{production_database}
staging:
<<: *defaults
database: #{staging_database}
EOF
run "mkdir -p #{shared_path}/config"
put db_config, "#{shared_path}/config/mongoid.yml"
end
desc "Make symlink for mongoid.yml"
task :symlink_mongoid do
run "ln -nfs #{shared_path}/config/mongoid.yml #{release_path}/config/mongoid.yml"
end
desc "Fill the database with seed data"
task :seed do
run "cd #{current_path}; RAILS_ENV=#{default_stage} bundle exec rake db:seed"
end
end
namespace :bundler do
desc "Symlink bundled gems on each release"
task :symlink_bundled_gems, :roles => :app do
run "mkdir -p #{shared_path}/bundled_gems"
run "ln -nfs #{shared_path}/bundled_gems #{release_path}/vendor/bundle"
end
desc "Install bundled gems "
task :install, :roles => :app do
run "cd #{release_path} && bundle install --deployment"
end
end
namespace :deploy do
task :start, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
desc "Restart the app"
task :restart, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
desc "Start the workers"
task :stop_workers do
run "cd #{current_path}; RAILS_ENV=#{default_stage} bundle exec rake resque:stop_workers"
end
desc "Restart Redis server"
task :restart_redis do
"/etc/init.d/redis-server restart"
end
desc "Start the workers"
task :start_workers do
run "cd #{current_path}; RAILS_ENV=#{default_stage} bundle exec rake resque:start_workers"
end
end
seguro de lo agregaré @ slhck – Bijendra
Ya está presente.. ssh_options [: forward_agent] = true – Bijendra
@slhck solo checa la edición. – Bijendra