Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rails capistrano deployment error

I have installed capistrano with gem capistrano

And in my application directory i installed cap install

This command includes deploy/production.rb and deploy/staging.rb and in config/deploy.rb

my production.rb file has following

set :stage, :production
role :all, %w{[email protected]}
server 'sub.mydomain.com', user: 'deploy', roles: %w{web app}, my_property: :my_value
set :ssh_options, { :forward_agent => true, :port => 1754, :keys => %w(/home/seting/.ssh/id_rsa) }

And this is my deploy.rb

set :application, 'admin'
set :repo_url, '[email protected]:username/myadmin.git'
namespace :deploy do

  desc 'Restart application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      # Your restart mechanism here, for example:
      # execute :touch, release_path.join('tmp/restart.txt')
    end
  end

  after :restart, :clear_cache do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      # Here we can do anything such as:
      # within release_path do
      #   execute :rake, 'cache:clear'
      # end
    end
  end

  after :finishing, 'deploy:cleanup'

end

And finally when i run cap production deploy

Getting errors as

cap aborted!
seting
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh.rb:215:in `start'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:156:in `ssh'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:68:in `upload!'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0/lib/capistrano/tasks/git.rake:11:in `block (3 levels) in <top (required)>'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `instance_exec'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `run'
/home/seting/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => git:check => git:wrapper
(See full trace by running task with --trace)

Edit - 1

In addition i didn't do any special installations in my server to run rails application. I have decided to move my file to server first. Is it right way?

like image 807
Prabhakaran Avatar asked Oct 11 '13 17:10

Prabhakaran


1 Answers

You should set role name deploy instead of seting, or other way.

set :stage, :production
set :branch, 'master'
set :deploy_to, '/srv/www/server.com/'
role :all, %w{[email protected]}
server 'server.com', user: 'deploy', roles: %w{web app}, my_property: :my_value
fetch(:default_env).merge!(rails_env: :production)

Here is the guide

And you probably want to run

cap production deploy:check

to check your config.

Also there is no deploy:setup in capistrano 3.0

like image 74
onemanstartup Avatar answered Sep 22 '22 15:09

onemanstartup