【发布时间】:2010-11-12 15:24:36
【问题描述】:
许多 Capistrano 示例食谱都包含 :db 角色。默认情况下,部署任务将应用程序代码导出到所有角色的所有主机。这表明人们通常会在数据库主机上保留其应用程序的副本。此外,在 Capistrano 分发的 deploy.rb 配方中,:deploy:migrate 看起来像这样:
task :migrate, :roles => :db, :only => { :primary => true } do
# ...
end
我的问题是,为什么会这样?让应用程序代码远离数据库主机(甚至可能没有安装 Ruby)并从生产机器运行迁移不是更干净吗?
【问题讨论】:
标签: ruby-on-rails ruby deployment capistrano