我有一个 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
这被隔离为:加载"部署/资产"
但我不确定这里发生了什么,因为目录存在。如果我注释掉负载"部署/资产",错误就会消失。我已经移动了这个电话的位置,但这似乎没有效果。另外,似乎一切都正确部署了,但显然,我不希望出现此错误。关于如何纠正的任何想法?或者加载"部署/资产"的代码存在在哪里?
感谢
编辑 1有没有可能这是正在发生的事情?成功复制文件的卡皮斯特拉诺错误
我应该忽略并写在stderror 而不是stdout
尝试使用这个
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