And after this, I had to add the same path to the top of my user's crontab since cron suffers from the same issue: PATH=/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/ sbin:/usr/bin
On Jun 10, 4:00 pm, timg <[email protected]> wrote: > I was having precisely the same problem today and tracked this post > downhttp://blog.zerobearing.com/2009/04/27/capistrano-rake-command-not-fo... > > For me, it worked perfectly. One note, you have to put the entire path > in your .ssh/environment file: > PATH=/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ > sbin:/bin:/usr/games # i keep /opt/ruby symlinked to my most recent > REE install > > you cannot `export PATH=/opt/ruby/bin:$PATH` or anything like that. > > Also, a general word of warning - make sure you keep a ssh connection > open while you're messing with the ssh_config file. You'd hate to lock > yourself out while dabbling with it. YMMV > > To check the PATH that capistrano gets, I also added this temporarily > to my deploy.rb: > namespace :deploy do > task :check_path, :roles => :db do > run "echo $PATH" > end > end > > and then just ran `cap deploy:check_path` > > take care, > timg > > On Jun 6, 10:50 pm, Bharat <[email protected]> wrote: > > > I am trying to automate the deployment to my production server. The > > application is hosted on Apache 2.2/Passenger/Enterprise Ruby > > environment. I am also using Thinking Sphinx and am trying to > > automate Reindexing operation using Whenever gem that basically writes > > the crontab file. The deployment fails because whenever command in my > > capistrano file cannot be found on production server. Here is the > > deploy.rb file: > > > set :rails_root, "#{File.dirname(__FILE__)}/.." > > require "#{rails_root}/vendor/plugins/thinking-sphinx/lib/ > > thinking_sphinx/deploy/capistrano" > > > set :application, "ssfilemgr" > > set :repository, "[email protected]:harishk/ssfilemgr.git" > > #set :repository, "#{us...@#{domain}:git/#{application}.git" > > > set :user, "bruparel" > > set :runner, "bruparel" > > set :admin_runner, runner > > #default_run_options[:pty] = true > > > set :domain, '72.14.181.189' > > role :app, domain > > role :web, domain > > role :db, domain, :primary => true > > > set :deploy_to, "/home/#{user}/r_work/#{application}" > > > set :deploy_via, :remote_cache > > set :scm, "git" > > set :branch, "master" > > set :scm_verbose, true > > set :use_sudo, false > > > namespace :deploy do > > > desc "Restart Application" > > task :restart do > > run "touch #{current_path}/tmp/restart.txt" > > end > > > desc "Cleanup older revisions" > > task :after_deploy do > > cleanup > > end > > > desc "Update the crontab file" > > task :update_crontab, :roles => :db do > > run "cd #{release_path} && whenever --update-crontab # > > {application}" > > end > > > end > > > after "deploy:setup", "thinking_sphinx:shared_sphinx_folder" > > after "deploy:symlink", "deploy:update_crontab" > > after "deploy:restart", "thinking_sphinx:rebuild" > > > Here is snippet of the terminal session when I run cap deploy with the > > fail message: > > > * executing "find /home/bruparel/r_work/ssfilemgr/releases/ > > 20090607024242/public/images /home/bruparel/r_work/ssfilemgr/releases/ > > 20090607024242/public/stylesheets /home/bruparel/r_work/ssfilemgr/ > > releases/20090607024242/public/javascripts -exec touch -t > > 200906070242.42 {} ';'; true" > > servers: ["72.14.181.189"] > > [72.14.181.189] executing command > > command finished > > * executing `deploy:symlink' > > * executing "rm -f /home/bruparel/r_work/ssfilemgr/current && ln -s / > > home/bruparel/r_work/ssfilemgr/releases/20090607024242 /home/bruparel/ > > r_work/ssfilemgr/current" > > servers: ["72.14.181.189"] > > [72.14.181.189] executing command > > command finished > > triggering after callbacks for `deploy:symlink' > > * executing `deploy:update_crontab' > > * executing "cd /home/bruparel/r_work/ssfilemgr/releases/ > > 20090607024242 && whenever --update-crontab ssfilemgr" > > servers: ["72.14.181.189"] > > [72.14.181.189] executing command > > *** [err :: 72.14.181.189] sh: whenever: not found > > command finished > > *** [deploy:symlink] rolling back > > > Funny thing is when I ssh into the server and execute "whenever" > > command from "current" directory it works as shown below: > > > ssrxgrp ~/r_work/ssfilemgr/current: whenever --update-crontab > > ssfilemgr > > [write] crontab file updated > > > Moreover, the whenever binary is in the path too as shown below: > > > ssrxgrp ~/r_work/ssfilemgr/current: which whenever > > /opt/ruby-enterprise/bin/whenever > > ssrxgrp ~/r_work/ssfilemgr/current: > > > and here is the $PATH environment variable: > > > ssrxgrp ~/r_work/ssfilemgr/current: echo $PATH > > /opt/ruby-enterprise/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ > > bin:/sbin:/bin:/usr/games > > > Why is Capistrano having trouble finding the executable then? > > > Thanks in advance for your help. > > > Regards, > > > Bharat --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Capistrano" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.co.uk/group/capistrano?hl=en -~----------~----~----~----~------~----~------~--~---
