I'm going to guess it's not Cap, if the code in 'current' is correct.

Look at things which are shared, though -- I'm not sure if it's built in,
but mine shares tmp, which is used in Rails for pids and cache -- and also
log.

I would check those, and also your browser cache, especially if you're using
Firefox. Sometimes, Firefox just decides to cache things until you hit
shift+refresh.

On Wed, Oct 15, 2008 at 6:41 AM, rejeep <[EMAIL PROTECTED]> wrote:

>
> Hello all!
>
> We have a problem with deploying our Rails app. We use capistrano-ext
> for multistage use. The stages we have are: staging and production.
>
> The problem is with staging and it is that sometimes when updates have
> been made not all of them are shown on the page. Even though the code
> in the folder that "current" points to is correct. So after a cap some
> of the new functionality is shown, and some stuff are old that should
> have been updated.
>
> I think that the problem is some kind of cache. Why? As an example we
> had this problem a few months ago. We generate graphs on the site and
> after an update on these and then a cap some graphs was still showing
> old stuff. So I thought I'd try to remove all old releases (all but
> the one current points at). After I did that I refreshed the browser
> and the site "crashed" (Can't remember the error that was shown).
> After pressing F5 a couple of times the site got on it's feet again
> with all new functionality. So something was in this case "pointing"
> to an old release.
>
> I'm of course not sure if it's capistrano causing the problem, but I
> had to start somewhere...
>
> What can I try?
>
> These are the configs used:
> # deploy.rb
> set :application, "appx"
>
> # So that you can choose branch
> # Example: cap staging deploy --set-before branch=my-branch
> if variables.include?(:branch)
>  set :repository,  "svn+ssh://.../svn/appx/branches/#{branch}"
> else
>  set :repository,  "svn+ssh://.../svn/appx/trunk/appx"
> end
>
> set :user, "appx"
> set :password, "X"
> set :use_sudo, false
>
> role :web, "appx.se"
> role :app, "appx.se"
> role :db,  "appx.se", :primary => true
>
> # see config/deploy/production.rb and config/deploy/staging.rb
> # for stage specific settings.
> set :stages, %w(staging production testing)
> set :default_stage, "staging"
> require 'capistrano/ext/multistage'
>
> namespace :deploy do
>  task :restart do
>    run "mongrel_rails cluster::restart -C #{mongrel_config}"
>  end
>
>  task :start do
>    run "mongrel_rails cluster::start -C #{mongrel_config}"
>  end
>
>  task :stop do
>    run "mongrel_rails cluster::stop -C #{mongrel_config}"
>  end
> end
>
>
> after 'deploy:update_code', 'deploy:fix_stuff'
>
>
> # deploy/staging.rb
> set :checkout, "update"
> set :deploy_to, "/var/app/appx-staging"
> set :mongrel_config, "/etc/mongrel_cluster/appx-staging.yml"
>
> namespace :deploy do
>  task :migrate, :roles => :db, :only => { :primary => true } do
>    rails_env = "staging"
>    migrate_env = fetch(:migrate_env, "")
>    migrate_target = fetch(:migrate_target, "latest")
>
>    directory = case migrate_target.to_sym
>      when :current then current_path
>      when :latest  then current_release
>      else
>        raise ArgumentError,
>          "you must specify one of 'current' or 'latest' for
> migrate_target"
>    end
>
>    run "cd #{directory} && " +
>        "/usr/bin/rake RAILS_ENV=#{rails_env} #{migrate_env}
> db:migrate"
>  end
>
>  task :fix_stuff, :roles => :app do
>    rails_env = "staging"
>
>    # link in shared/database.yml
>    run "ln -nfs #{shared_path}/database.yml #{release_path}/config/
> database.yml"
>    run "ln -nfs #{shared_path}/documents #{release_path}/documents"
>    run "ln -nfs #{shared_path}/help #{release_path}/public/images/
> help"
>
>    # set permissions
>    run "find #{release_path}/public -type d -exec chmod 0755 {} \\;"
>    run "find #{release_path}/public -type f -exec chmod 0644 {} \\;"
>    run "chmod 0755 #{release_path}/public/dispatch.*"
>
>    # build assets
>    run "cd #{release_path} && RAILS_ENV=#{rails_env} rake
> asset:packager:build_all"
>  end
> end
>
>
> Thanks!
> >
>

--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to