0

我是 capistrano 和 rails 的新手。我已经在 AWS VPC 中的 AWS 中设置了我的生产环境。我的数据库只能在 VPC 内访问(通过 Web 应用程序和其中的其他节点)。

我从本地机器上运行我的部署。有没有办法让 capistrano 从远程机器而不是我的本地机器本身运行 db:migrate。

此外,在进行正常帽生产部署时,capistrano 不应尝试连接到我的数据库机器。

我在这上面浪费了将近一天的时间。任何帮助表示赞赏。如果需要,我可以提供更多详细信息。

4

1 回答 1

0

这是默认任务。赶紧跑:

cap deploy:migrate

有关更多信息,请查看https://github.com/capistrano/capistrano/wiki/Capistrano-Tasks

或者您可以尝试将任务添加到您的 deploy.rb:

desc "rake task"
task :rake do
  run "bash -l -c 'cd #{current_release}; \
      sudo `which rvm` `rvm current` do rake #{ARGV[1..-1].join(' ')} RAILS_ENV=production'"
  exit
end

并像这样运行:

cap rake db:migrate
于 2013-06-07T06:16:16.990 回答