ruby-on-rails-避免对服务器配置进行硬编码

我正在开发Rails应用程序,并且打算将其开源.

this RailsCast之后,我将其部署到配置了nginx和unicorn的VPS服务器.

为了使Capistrano,Nginx和Unicorn正常工作,我必须在config /文件夹中添加一些服务器配置文件,例如deploy.rb,nginx.conf,unicorn.rb和unicorn_init.sh.

我正在使用git存储库,并且一切都在master分支下进行.换句话说,Capistrano从中获取了部署到服务器上的机会,这也是我要开源的分支.

但是我不希望我的服务器配置文件是公共可用的.

最好的解决方案是什么?

我应该分叉它并将一个存储库设置为官方公共存储库,并使用另一个存储库作为我自己的版本,并将该官方存储库设置为我的上游存储库吗?

还是将我的配置参数设置为环境变量,然后将配置文件保留在存储库中会更好?

解决方法:

此解决方案是我针对此问题找到的最佳解决方案(也是我个人使用的解决方案).

您应该将配置文件放在

/path/to/deployed_app/shared

然后在capistrano任务中,符号链接到这些文件:

namespace :deploy do
  task :symlink_shared do
    run "ln -s #{shared_path}/database.yml #{release_path}/config/"
  end
end

before "deploy:restart", "deploy:symlink_shared"
上一篇:unicorn学习(1)-》》》 unicorn的认识


下一篇:ruby-on-rails-Nginx,Unicorn和Rails = 502错误网关