2012-06-19 83 views
0

我有一個是輸出以下內容的Capistrano的部署腳本:負載Capistrano的部署問題「部署/資產」

* executing `deploy:assets:precompile' 
    * executing "cd /data/sites/app/releases/20120619023328 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" 
    servers: ["123.230.158.135"] 
    [123.230.158.135] executing command 
*** [err :: 123.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets 
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets 
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets 
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets 

這是獨立於: 負載「部署/資產」

,但我因爲目錄存在,我不確定這裏發生了什麼。如果我評論出負載的「部署/資產」,錯誤就會消失。我已經移動了這個通話的位置,但是這似乎沒有效果。此外,似乎所有東西都正確部署,但顯然,我不想要這個錯誤。任何想法如何糾正?或者存在用於加載「部署/資產」的代碼?

THX

編輯1 是有可能,這是發生了什麼事? Capistrano error with successfully copied files

和我應該忽略和stderror寫這個,而不是標準輸出

回答

1

嘗試使用此

cap production deploy:cold 

這裏是它的腳本:

set :stages, %w(production staging)  #various environments 
    load "deploy/assets"     #precompile all the css, js and images... before deployment.. 
    require "bundler/capistrano"   # install all the new missing plugins... 
    require 'capistrano/ext/multistage'  # deploy on all the servers.. 
    require 'delayed/recipes'    # load this for delayed job.. 
    require "rvm/capistrano"    # if you are using rvm on your server.. 
    require './config/boot'   
    require 'airbrake/capistrano'   # using airbrake in your application for crash notifications.. 
    require 'thinking_sphinx/deploy/capistrano' # using thnking sphinx in your application 
    require 'whenever/capistrano'   # using whenever for cron jobs.. 

    before "deploy:update_code", "thinking_sphinx:stop" # stop the serch engine before updating the code.. 
    after "deploy:update_code", "thinking_sphinx:rebuild" #rebuild the search engine configure and start the search engine.. 

    set :delayed_job_args, "-n 2"   # number of delayed job workers 
    before "deploy:update_code", "delayed_job:stop" # stop the previous deployed job workers... 
    after "deploy:start", "delayed_job:start" #start the delayed job 
    after "deploy:restart", "delayed_job:restart" # restart it.. 

    after "deploy:update", "deploy:cleanup" #clean up temp files etc. 

    set :rvm_ruby_string, '1.9.3'    # ruby version you are using... 
    set :rvm_type, :user 
    set :whenever_environment, defer { stage } # whenever gem for cron jobs... 

    server "xx.xx.xx.xx", :app, :web, :db, :primary => true #ip of the server 

    set(:application) { "my_cool_project" } 
    set (:deploy_to) { "/home/me/#{application}/#{stage}" } 
    set :user, 'my_awesome_deployer' 
    set :keep_releases, 3 
    set :repository, "git_repo_url" 
    set :use_sudo, false 
    set :scm, :git 
    default_run_options[:pty] = true 
    ssh_options[:forward_agent] = false 
    set :deploy_via, :remote_cache 
    set :git_shallow_clone, 1 
    set :git_enable_submodules, 1 

    namespace :deploy do 
     task :start do ; end 
     task :stop do ; end 
     task :restart, :roles => :app, :except => { :no_release => true } do 
     run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
     end 
    end