<?xml version="1.0" encoding="UTF-8"?>
<wiki-page>
  <author>Dimitrij Denissenko</author>
  <content>h2. GIT Users

If you are working with the GIT version of Retrospectiva, upgrading from a recent version to the current one is as simple as typing:
{{{
cd $PATH_TO_YOUR_RETROSPECTIVA_ROOT
git pull
}}}

You might also need to do migrate your database to the latest layout by executing:
{{{
rake RAILS_ENV=production db:migrate
}}}

h2. Capistrano Users

If you use Capistrano to deploy Retrospectiva you can use the following script (Passenger/GIT). Please adapt it to match you setup.

{{{
set :application, "Your Application Name"
set :scm, :git
set :repository, "http://retrospectiva.org/repositories/retrospectiva.git"
set :branch, "master"

set :deploy_to, "/your/local/path"
set :deploy_via, :export

set :user, 'your_user'
set :use_sudo, false
set :ssh_options, { :forward_agent =&gt; true }
set :shared_children, %w(attachments repositories runtime extensions system log pids)
set :packaged_extensions, %w(retro_wiki retro_blog)

role :app, "your-server.com"
role :web, "your-server.com"
role :db,  "your-server.com", :primary =&gt; true

namespace :deploy do
  
  desc "Restarting Passenger"  
  task :restart, :roles =&gt; :app, :except =&gt; { :no_release =&gt; true } do
    run "touch #{current_path}/tmp/restart.txt"
  end

  task :after_finalize_update, :except =&gt; { :no_release =&gt; true } do
    run %Q(
      rm -rf #{shared_path}/runtime/*.default &amp;&amp;
      mv #{latest_release}/config/runtime/*.default #{shared_path}/runtime/ &amp;&amp;
      rm -rf #{latest_release}/config/runtime &amp;&amp;
      mkdir -p #{latest_release}/config &amp;&amp;
      ln -s #{shared_path}/runtime #{latest_release}/config/runtime &amp;&amp;
      rm -rf #{latest_release}/attachments &amp;&amp;
      ln -s #{shared_path}/attachments #{latest_release}/attachments
    )

    packaged_extensions.each do |name|
      run %Q(
        rm -rf #{shared_path}/extensions/#{name} &amp;&amp; 
        mv #{latest_release}/extensions/#{name} #{shared_path}/extensions/#{name}
      )
    end
    run %Q(
      rm -rf #{latest_release}/extensions &amp;&amp;
      ln -s #{shared_path}/extensions #{latest_release}/extensions &amp;&amp;
      cp #{shared_path}/database.yml #{latest_release}/config
    )    
  end  
  
  [:start, :stop].each do |t|
    desc "#{t} task is a no-op with Passenger"
    task t, :roles =&gt; :app do ; end
  end
  
end
}}}</content>
  <created-at type="datetime">2007-02-27T01:20:24+00:00</created-at>
  <title>Upgrading</title>
  <updated-at type="datetime">2009-01-25T21:13:03+00:00</updated-at>
  <version type="integer">8</version>
</wiki-page>
