Helena Standaert
Helena Standaert

Reputation: 569

capistrano cannot run ssh: no such file or directory

I'm new to capistrano and I'm trying to set up a test project, but as you can guess, without much success. When I run cap deploy:update, I get following output:

$ cap deploy
  * 2014-12-27 21:48:06 executing `deploy'
  * 2014-12-27 21:48:06 executing `deploy:update'
 ** transaction: start
  * 2014-12-27 21:48:06 executing `deploy:update_code'
    executing locally: "git ls-remote [email protected]:hstandaert/test.git production"
    command finished in 1281ms
  * executing "git clone -q -b production [email protected]:hstandaert/test.git/customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807 && cd /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807 && git checkout -q -b deploy 5604624725df4d3c7dd4f88fc77cfd5d9d8ddf26 && (echo 5604624725df4d3c7dd4f88fc77cfd5d9d8ddf26 > /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807/REVISION)"
servers: ["ssh.stocksolutions.be"]
[email protected]'s password:
[email protected]'s password:
    [ssh.stocksolutions.be] executing command
 ** [ssh.stocksolutions.be :: out] error: cannot run ssh: No such file or directory
 ** [ssh.stocksolutions.be :: out] fatal: unable to fork
    command finished in 1611ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807; true"
    servers: ["ssh.stocksolutions.be"]
    [ssh.stocksolutions.be] executing command
    command finished in 957ms
failed: "sh -c 'git clone -q -b production [email protected]:hstandaert/test.git /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807 && cd /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807 && git checkout -q -b deploy 5604624725df4d3c7dd4f88fc77cfd5d9d8ddf26 && (echo 5604624725df4d3c7dd4f88fc77cfd5d9d8ddf26 > /customers/4/b/b/stocksolutions.be/httpd.www/private/releases/20141227204807/REVISION)'" on ssh.stocksolutions.be

And here's the deploy.rb file:

begin
    require 'colored'
rescue LoadError
    $stderr.puts <<-INSTALL
You need the both the capistrano-ext and colored gems to deploy this application
Install the gems like this:
    gem install colored
    INSTALL
    exit 1
end

set :application, "stocksolutions"
set :repository,  "[email protected]:hstandaert/test.git"
set :branch, "production"

set :user, 'stocksolutions.be'
set :deploy_to, "/customers/4/b/b/#{user}/httpd.www/private"
set :use_sudo, false

set :scm, :git

default_run_options[:pty] = true

server "ssh.stocksolutions.be", :app, :web

namespace :deploy do
 task :start do ; end
 task :stop do ; end
 task :restart, :roles => :app, :except => { :no_release => true } do
   run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
 end
end

Anyone who can spot my mistake?

Upvotes: 0

Views: 1427

Answers (1)

sjaime
sjaime

Reputation: 1500

Your log seems to suggest that either there is no ssh client installed in your deployment server, or the command cannot be found in the server's PATH.

Try if cloning the repo via https instead of ssh will work, by changing the following:

BEFORE

set :repository,  "[email protected]:hstandaert/test.git"

AFTER

set :repository,  "https://github.com/hstandaert/test.git"

You'll be asked to provide your login credentials for github to be able to clone the repo.

Upvotes: 1

Related Questions