Vlad the Deployer: проблемы с миграцией

Я настраиваю Vlad The Deployer для развертывания своего приложения, и я получаю странную ошибку, и я не могу найти ответ.

Проблемы заключаются в следующем: после миграции он получает последнюю «выпуск» моего приложения и получает выпуск, которого не существует, даже если обновление, запущенное ранее, предоставило последний выпуск.

** 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 [email protected]: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!

По сути, каждый раз, когда я запускаю «мигрировать», он создает попытки получить более новую версию, которой не существует, и процесс завершается сбоем.

И это мой код конфигурации:

развернуть.rb

set :ssh_flags, "-p 10022"
set :domain, "labpress.com.ar"
set :application, "noticioso"
set :deploy_to, "/opt/prj/agregador"
set :repository, '[email protected]: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

Итак, вот и все, если у кого-то есть какие-либо идеи, чтобы помочь мне, это было бы очень признательно.


person Adanos    schedule 26.04.2013    source источник
comment
Та же проблема... вы уже нашли решение?   -  person soupdiver    schedule 26.08.2013
comment
На самом деле я этого не сделал, разозлился и перешел на капистрано.   -  person Adanos    schedule 09.09.2014


Ответы (1)


У меня была та же проблема, и после некоторых игр я смог решить проблему, добавив

set :migrate_target, :current

к моему файлу deploy.rb

person Rails Fan    schedule 03.02.2014