Rails3资产预编译和capistrano任务与符号链接不按顺序

时间:2014-08-26 16:36:52

标签: ruby-on-rails-3.2 capistrano asset-pipeline thinking-sphinx

上下文: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}"

如何确保在资产编制开始之前看到符号链接?

1 个答案:

答案 0 :(得分:0)

一种解决方案是删除gitignore文件中对database.yml的引用 如果想在当地进行生产,那就不理想了。