2016-04-07 16 views
0

Yerel makinemden dağıtım sunucumdan Capistrano üzerinden dağıtmaya çalışıyorum. Dağıtdığımda, sunucuya bağlanır ve ardından aşağıdaki bilgileri dağıtır.Raylar 4 Capistrano dağıtımı, etkin makineyi bulamıyor

** sftp upload /var/folders/x0/hyzt7pms0599ymtyjft739kw0000gn/T/20160406223514.tar.gz -> /tmp/20160406223514.tar.gz 
    [address] /tmp/20160406223514.tar.gz 
    [address] done 
    * sftp upload complete 
    * executing "cd /var/www/address/releases && tar xzf /tmp/20160406223514.tar.gz && rm /tmp/20160406223514.tar.gz" 
    servers: ["address"] 
    [address] executing command 
    command finished in 519ms 
    * 2016-04-06 18:35:59 executing `deploy:finalize_update' 
    triggering before callbacks for `deploy:finalize_update' 
    * 2016-04-06 18:35:59 executing `deploy:assets:symlink' 
    * executing "rm -rf /var/www/address/releases/20160406223514/public/assets && mkdir -p /var/www/address/releases/20160406223514/public && mkdir -p /var/www/address/shared/assets && ln -s /var/www/address/shared/assets /var/www/address/releases/20160406223514/public/assets" 
    servers: ["server"] 
    [server] executing command 
    command finished in 48ms 
    * executing "chmod -R -- g+w /var/www/address/releases/20160406223514 && rm -rf -- /var/www/address/releases/20160406223514/public/system && mkdir -p -- /var/www/address/releases/20160406223514/public/ && ln -s -- /var/www/address/shared/system /var/www/address/releases/20160406223514/public/system && rm -rf -- /var/www/address/releases/20160406223514/log && ln -s -- /var/www/address/shared/log /var/www/address/releases/20160406223514/log && rm -rf -- /var/www/address/releases/20160406223514/tmp/pids && mkdir -p -- /var/www/address/releases/20160406223514/tmp/ && ln -s -- /var/www/address/shared/pids /var/www/address/releases/20160406223514/tmp/pids" 
    servers: ["address"] 
    [address] executing command 
    command finished in 49ms 
    triggering after callbacks for `deploy:update_code' 
    * 2016-04-06 18:35:59 executing `deploy:assets:precompile' 
    triggering before callbacks for `deploy:assets:precompile' 
    * 2016-04-06 18:35:59 executing `deploy:assets:update_asset_mtimes' 
    * executing "[ -e '/var/www/address/shared/assets/.sprockets-manifest*' ] && cat /var/www/address/shared/assets/.sprockets-manifest* || echo" 
    servers: ["address"] 
    [server] executing command 
    command finished in 31ms 
    * executing "cd -- /var/www/address/releases/20160406223514 && RAILS_ENV=production RAILS_GROUPS=assets rake assets:precompile" 
    servers: ["address"] 
    [address] executing command 
** [out :: address] Could not find activesupport-4.2.0 in any of the sources 
** [out :: address] Run `bundle install` to install missing gems. 
    command finished in 547ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/address/releases/20160406223514; true" 
    servers: ["address"] 
    [address] executing command 
    command finished in 57ms 
failed: "sh -c 'cd -- /var/www/address/releases/20160406223514 && RAILS_ENV=production RAILS_GROUPS=assets rake assets:precompile'" on address 

O ActiveSupport bulamadığını söylüyor, ancak sunucu üzerinde taş listesini çalıştırdığınızda, bu sürüm 4.2.6, 4.2.4, 4.2.0 listelenir ve gösterir.

Bu bir izin sorunudur? İşte

deploy.rb

set :application, "app" 
set :repository, "repo" 

set :deploy_to, '/var/www/address' 
set :scm, :git 
set :branch, "master" 

set :user, "user" 

set :use_sudo, false 

set :rails_env, "production" 
set :deploy_via, :copy 

set :keep_releases, 5 

default_run_options[:pty] = true 

server "address", :app, :web, :db, :primary => true 


namespace :deploy do 
    desc "Symlink shared config files" 
    task :symlink_config_files do 
     run "#{ try_sudo } ln -s #{ deploy_to }/shared/config/database.yml #{ current_path }/config/database.yml" 
    end 

    desc "Restart Passenger app" 
    task :restart do 
     run "#{ try_sudo } touch #{ File.join(current_path, 'tmp', 'restart.txt') }" 
    end 
end 


after "deploy", "deploy:symlink_config_files" 
after "deploy", "deploy:restart" 
after "deploy", "deploy:cleanup" 

cevap

0

Benim tahminim varlıklar precompilation yapmaya çalışmadan önce capistrano komut bir bundle install başlatmaya görünmemektedir olmasıdır.

Bir paket yüklemesini önceden çalıştırın ve iyi çalışmalıdır.

DÜZENLEME: require 'capistrano/rails' (veya require 'capistrano/bundler') Capfile öğenizin içinde.

kaynak: https://github.com/capistrano/rails

+0

Bu, bu sunucuya ilk dağıtımıdır. Deploy.rb adresindeki kodu yukarıdaki gönderiye ekleyeceğim. 'Paket yüklemesi' bu dosyada mı olmalı? Orada bir şey almadan önce sunucuda nasıl bir paket yüklemesi yapılacağından emin değilim. Daha fazla şey söyleyebilir misin lütfen? – lostrennie

+0

Yukarıdaki düzenlemeye bakın. – born4new

+0

Capistrano 2.15.7 çalıştırıyorum ve bu gereksinim çalışmıyor. Bunu eski sürümle yapmanın bir yolu var mı? – lostrennie