yes, i move the after call outsid the namespace, but that didn't help. at the end i said "I thought I could fix things by moving that after "deploy:" command to the front of the script, and out of the namespace" sorry i wasn't more clear. that should make things work, right?
still, that wouldn't solve the problem of only running on staging. best, tim On Apr 9, 3:52 pm, "E. Johnson" <[email protected]> wrote: > Have you tried moving your 'after' call outside of the :uploads namespace? > > -Erik > > On Thu, Apr 9, 2009 at 3:35 PM, TimBooher <[email protected]> wrote: > > > I share a common database for my staging and production site. I would > > like to share image uploads as well in > > > /var/www/my_site/staging/current/public/system > > > from var/www/my_site: > > > |-- current -> /var/www/my_site/releases/20090409190216 > > |-- releases > > . . . > > |-- shared > > | |-- log > > | |-- pids > > | `-- system > > `-- staging > > |-- current -> /var/www/my_site/staging/releases/20090409185152 > > |-- releases > > `-- shared > > > I want, paperclip to store images from both distributions in /var/www/ > > my_site/staging. > > > Since capistrano already creates a link to #{shared_path}/system, I > > just need to map: > > /var/www/my_site/staging/shared/system to --> /var/www/my_site/shared/ > > system > > > (http://github.com/jamis/capistrano/blob/ > > 2ce539d87c928f41d82f7bfda84e228d3948d82b/lib/capistrano/recipes/ > > deploy.rb#L229<http://github.com/jamis/capistrano/blob/%0A2ce539d87c928f41d82f7bfda8...> > > ) > > > So I have the following deploy.rb: > > > -------------------------------------- > > set :stages, %w(staging production) > > set :default_stage, "staging" > > require 'capistrano/ext/multistage' > > > set :application, "my_site" > > set :repository, "http://svn.my_site.com/" > > set :deploy_to, "/var/www/#{application}" > > set :user, "passenger" > > set :keep_releases, 3 # (doesn't seem to work) > > > role :app, "my_server" > > role :web, "my_server" > > role :db, "my_server", :primary => true > > > namespace :deploy do > > desc "Restarting mod_rails with restart.txt" > > task :restart, :roles => :app, :except => { :no_release => true } do > > run "touch #{current_path}/tmp/restart.txt" > > end > > > [:start, :stop].each do |t| > > desc "#{t} task is a no-op with mod_rails" > > task t, :roles => :app do ; end > > end > > end > > > # ============================== > > # Uploads > > # ============================== > > > namespace :uploads do > > > desc <<-EOD > > [internal] Creates the symlink to uploads shared folder > > for the most recently deployed version. > > EOD > > task :symlink, :except => { :no_release => true } do > > run "rm -rf #{current_path}/public/system" > > run "ln -nfs /var/www/my_site/shared/system #{current_path}/public/ > > system" > > end > > > after "deploy:finalize_update", "uploads:symlink" > > > end > > > -------------------------------------- > > > I am having trouble getting that callback to work, but am wondering if > > there is not a much easier way to do this (or more robust, am I > > missing something). I thought I could fix things by moving that after > > "deploy:" command to the front of the script, and out of the > > namespace. I also what _nothing_ to happen when I type: > > > cap production deploy. > > > Thanks in advance, > > > Tim --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
