This is my first experience with Capistrano. I made some changes to an existing Rails site that already had Subversion and Capistrano in place, checked them into Subversion, and ran 'cap deploy:check' successfully. But 'cap deploy:migrations' produced an error:
** [out :: xx.xxx.xxx.xxx] rake aborted!
** [out :: xx.xxx.xxx.xxx] No such file or directory -
/home/wwwfine/projects/fgc/releases/20080919185053/config/database.yml
even though a quick check shows that database.yml in that location was successfully created as a symbolic link from the shared location of database.yml earlier in the script. Otherwise, the new release seems to have been set up properly.
So I tried 'cap deploy:stop', figuring that I'd run the migration manually and then restart, but got
* executing "/home/wwwfine/projects/fgc/current/script/process/reaper -a kill"
servers: ["xx.xxx.xxx.xxx"]
[xx.xxx.xxx.xxx] executing command
** [out :: xx.xxx.xxx.xxx] Couldn't find any pid file in '/home/wwwfine/projects/fgc/releases/20080919185053/tmp/pids' matching 'dispatch.[0-9]*.pid'
Indeed, that directory is empty, so no processes were killed and the app is still running.
First, can I just kill the ruby/mongrel process myself, run the rake migration, and then use Capistrano to restart?
Second, any ideas about how to fix these problems? Should I just take this to the Capistrano forum?
Below are the files deploy.rb and Capfile.
Thanks.
Scott
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set :domain, "xx.xxx.xxx.xxx"
set :user, "wwwfine"
set :application, "fgc"
set :mongrel_port, "4110"
set :rails_env, :production
set :deploy_to, "/home/#{user}/projects/#{application}"
set :chmod755, "projects config db lib public vendor script script/*"
set :use_sudo, false
set :svn_user, "wwwfine"
set :svn_password, "xxxxxxxxx"
set :repository, Proc.new { "--username #{svn_user} " + "--password #{svn_password} " + "svn+ssh://[EMAIL PROTECTED]/home/wwwfine/svn/fgc/trunk" }
set :keep_releases, 10
default_run_options[:pty] = true
#set :repository, " http://svn.#{domain}/svn/#{application}/trunk"
#latest one for capistrano 2.0
#set :repository, "svn+ssh://[EMAIL PROTECTED]/home/#{user}/svn/#{application}/trunk" # The repository location for svn+ssh access
# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
# set :deploy_to, "/var/www/#{application}"
# If you aren't using Subversion to manage your source code, specify
# your SCM below:
# set :scm, :subversion
role :web, domain
role :app, domain
role :db, domain, :primary => true
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
load 'config/deploy'
# ========================
# For Mongrel Apps
# ========================
namespace :deploy do
end
--~--~---------~--~----~------------~-------~--~----~
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
-~----------~----~----~----~------~----~------~--~---
