I'm configuring Vlad The Deployer for deploying my app and Im getting a weird error and Im unable to find an answer.
The issues is the following, after I migration it goes to get latest "release" of my app and it goes to get a release that doesnt exist, even though the update run before has provided the latest release.
** Invoke vlad:update (first_time)
** Execute vlad:update
ssh -p 10022 labpress.com.ar 'cd /opt/prj/agregador/scm && rm -rf/opt/prj/agregador/scm/repo && git clone git@bitbucket.org:ibmedialab/noticioso.git /opt/prj/agregador/scm/repo && cd /opt/prj/agregador/scm/repo && git submodule update --init && git checkout -f -b deployed-origin/master origin/master && cd - && mkdir -p /opt/prj/agregador/releases/20130426162742 && cd repo && git archive --format=tar deployed-origin/master | (cd /opt/prj/agregador/releases/20130426162742 && tar xf -) && git submodule foreach 'git archive --format=tar $sha1 | (cd /opt/prj/agregador/releases/20130426162742/$path && tar xf -)' && cd - && cd .. && rm -rf /opt/prj/agregador/releases/20130426162742/log /opt/prj/agregador/releases/20130426162742/public/system /opt/prj/agregador/releases/20130426162742/tmp/pids && mkdir -p /opt/prj/agregador/releases/20130426162742/tmp /opt/prj/agregador/releases/20130426162742/db'
Cloning into '/opt/prj/agregador/scm/repo'...
Branch deployed-origin/master set up to track remote branch master from origin.
Switched to a new branch 'deployed-origin/master'
/opt/prj/agregador/scm
/opt/prj/agregador/scm
** Invoke vlad:update_symlinks (first_time)
** Execute vlad:update_symlinks
ssh -p 10022 labpress.com.ar 'ln -s /opt/prj/agregador/shared/log/opt/prj/agregador/releases/20130426162742/log && ln -s /opt/prj/agregador/shared/system /opt/prj/agregador/releases/20130426162742/public/system && ln -s /opt/prj/agregador/shared/pids /opt/prj/agregador/releases/20130426162742/tmp/pids'
ssh -p 10022 labpress.com.ar 'rm -f /opt/prj/agregador/current && ln -s /opt/prj/agregador/releases/20130426162742 /opt/prj/agregador/current && echo 201304261627.50 $USER origin/master 20130426162742 >> /opt/prj/agregador/revisions.log'
norcali@TAW093:~/Desarrollo/Infobae/Ruby/Rails/agregador$ rake -t vlad:migrate
** Invoke vlad:migrate (first_time)
** Execute vlad:migrate
ssh -p 10022 labpress.com.ar 'cd /opt/prj/agregador/releases/20130426162759 && rake 'RAILS_ENV=production db:migrate '
sh: 1: cd: can't cd to /opt/prj/agregador/releases/20130426162759
rake aborted!
Basically, everytime I run "migrate" it creates tries to get a newer version that doesnt exist and the process fails.
And this is my config code:
deploy.rb
set :ssh_flags, "-p 10022"
set :domain, "labpress.com.ar"
set :application, "noticioso"
set :deploy_to, "/opt/prj/agregador"
set :repository, 'git@bitbucket.org:ibmedialab/noticioso.git'
set :revision, "origin/master"
set :web, "nginx"
namespace :vlad do
desc "Full deployment cycle: Update, migrate, restart, cleanup"
remote_task :deploy, :roles => :app do
Rake::Task['vlad:update'].invoke
Rake::Task['vlad:migrate'].invoke
Rake::Task['vlad:start_app'].invoke
Rake::Task['vlad:cleanup'].invoke
end
end
Rakefile
require File.expand_path('../config/application', __FILE__)
Agregador::Application.load_tasks
begin
require 'vlad'
Vlad.load :app => :passenger, :scm => :git, :web => :nginx
rescue LoadError
puts 'Could not load Vlad'
end
Gemfile
gem 'vlad', :require => false
gem 'vlad-git', '2.1.0', :require => false
gem 'vlad-nginx', :require => false
gem 'vlad-extras', :require => false
So, thats about it, if anyone has any ideas to help me it'd be much appreciated.
I had the same problem and after some playing around I was able to fix the problem by adding
set :migrate_target, :current
to my deploy.rb