【问题标题】:Capistrano + whenever + db database.yml not foundCapistrano + 每当 + db database.yml 未找到
【发布时间】:2015-09-10 07:58:56
【问题描述】:

我正在尝试使用 When 0.8.4 和 Ruby 2.0.0 运行 Capistrano 2.15.5

我已经添加了

set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"

到我的 deploy.rb 文件的末尾,它总是运行:

/releases/20150910075216 && bundle exec whenever --update-crontab 
app_name --set environment=production --roles db

失败了

 No such file or directory - 
/releases/20150910075216/config/database.yml

因为 database.yml 在文件夹 /shared/ 中,反正我不需要数据库 -

如何去掉 capistrano 命令中的 --roles db?

我有

server("my_server", :app, :web, :db, :primary => true)

因为我需要 :db 用于其他脚本。

感谢您的帮助!

大卫

【问题讨论】:

    标签: ruby-on-rails ruby deployment capistrano whenever


    【解决方案1】:

    您应该在deploy.rb 中为capistrano 3 设置linked_files 符号链接链接文件database.yml,如下所示

    set :linked_files, fetch(:linked_files, []).push('config/database.yml')
    

    或者您可以为旧版本手动执行符号链接。

    desc "Make symlink for database yml"
    task :symlink do
       run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
    end
    

    【讨论】:

    • 嗨@David为你添加自定义任务,你可以试试这个。您可以通过after deploy hook 使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多