上下文:rails 3.2.18,capistrano 2.14.2,rvm-capistrano 1.2.7。思考 - sphinx 3.1.1,turbo-sprockets-rails3 0.3.14 当capfile在生产模式中取消注释为
时 load 'deploy/assets'
时部署失败
executing `deploy:assets:precompile'
动机:
Errno::ENOENT: No such file or directory - /Users/me/fna/releases/20140826161316/config/database.yml
部署文件具有适用于其他生产模式的序列,但此组合失败。唯一真正的变化是思考 - 狮身人面像的要求,但我没有看到它如何与资产编译发挥作用。来自deploy.rb:
require 'bundler/capistrano'
require 'thinking_sphinx/deploy/capistrano'
require "rvm/capistrano"
[...]
after "deploy:update_code","deploy:post_update"
[...]
task :post_update do
# Symlink shared files
%w(
database.yml
sphinx.yml
thinking_sphinx.yml
development.sphinx.conf
production.sphinx.conf
).each do |filename|
run "ln -nfs #{shared_path}/config/#{filename} #{release_path}/config/#{filename}"
如何确保在资产编制开始之前看到符号链接?
答案 0 :(得分:0)
一种解决方案是删除gitignore文件中对database.yml的引用 如果想在当地进行生产,那就不理想了。