我想我们几天前将 Rubber 更新回 1.15.0,这个问题现在出现在 deploy.rb 中。这是块:
if Rubber::Util.has_asset_pipeline?
# load asset pipeline tasks, and reorder them to run after
# rubber:config so that database.yml/etc has been generated
load 'deploy/assets'
callbacks[:after].delete_if {|c| c.source == "deploy:assets:precompile"}
callbacks[:before].delete_if {|c| c.source == "deploy:assets:symlink"}
before "deploy:assets:precompile", "deploy:assets:symlink"
after "rubber:config", "deploy:assets:precompile"
end
问题是当我将其注释掉时,部署失败说:
* executing "sudo -p 'sudo password: ' bash -l -c 'cd /mnt/foo-production/current && RUBBER_ENV=\"production\" RAILS_ENV=\"production\" bundle exec rake rubber:config'"
servers: ["app01.foo.com"]
[app01.foo.com] executing command
** [out :: app01.foo.com] rake aborted!
** [out :: app01.foo.com] Don't know how to build task 'rubber:config'
** [out :: app01.foo.com]
** [out :: app01.foo.com] (See full trace by running task with --trace)
command finished in 17128ms
failed: "/bin/bash -l -c 'sudo -p '\\''sudo password: '\\'' bash -l -c '\\''cd /mnt/foo-production/current && RUBBER_ENV=\"production\" RAILS_ENV=\"production\" bundle exec rake rubber:config'\\'''" on app01.foo.com
知道为什么吗?谢谢!