Ruby on rails 卡皮斯特拉诺+;无论何时+;未找到db database.yml

Ruby on rails 卡皮斯特拉诺+;无论何时+;未找到db database.yml,ruby-on-rails,ruby,deployment,capistrano,whenever,Ruby On Rails,Ruby,Deployment,Capistrano,Whenever,我正在尝试使用0.8.4和Ruby 2.0.0运行Capistrano 2.15.5 我补充说 set :whenever_command, "bundle exec whenever" require "whenever/capistrano" 在我的部署.rb文件的末尾,它始终运行: /releases/20150910075216 && bundle exec whenever --update-crontab app_name --set environment=pr

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

我补充说

set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
在我的部署.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命令中的角色db?

我有

server("my_server", :app, :web, :db, :primary => true)
因为对于其他脚本,我需要:db

谢谢你的帮助


David

您应该在
capistrano 3
deploy.rb
中设置
linked\u文件
Symlink链接文件
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

您应该在
deploy.rb
中为
capistrano 3
设置
symlinked 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为你添加自定义任务,你可以试试这个。您可以在部署后在
处使用此功能。您好@David为您添加自定义任务,您可以尝试此功能。您可以在部署后在
处使用此钩子。