如何在Rails 3.2应用程序中设置开发人员特定数据

时间:2013-01-29 17:35:18

标签: ruby-on-rails git

我们有多个开发人员正在使用我们当前的应用。该应用程序使用云中的数据。我们使用的服务有app_id和app_key。我们在每个环境(prod,dev,test)的远程云上都有app_id,app_key对。问题是,当每个开发人员需要处理他/她自己的功能时,我们不想共享相同的远程应用程序(使用app_id,app_key对)。因此,每个开发人员都需要在这个远程服务上拥有自己的对密钥存储在yaml文件中:

development:
  id: 4321
  key: 321

test:
  id: 12345
  key: 123

production:
  id: <%= ENV['MASTER_ID'] %>
  key: <%= ENV['MASTER_KEY'] %>

如何设置它以便当每个开发人员开始处理某项功能时,他/她将在他们的开发环境中拥有自己的密钥,并且他们不需要每次都将其复制/粘贴回此配置文件中?

(如果有帮助我们使用git)

2 个答案:

答案 0 :(得分:1)

每个开发人员在其本地开发驱动器中都应该有app_keys.yml,然后您只需将其添加到.gitignore文件中,这样就不会被git跟踪。

答案 1 :(得分:0)

我们遵循以下设计,使得键/信息依赖于各种工作机器/服务器等:

environment.rb中定义一个变量,该变量将path存储到目录中,该目录包含每台机器需要的所有(或单个)yml文件。

无论何处需要加载这些密钥,都会通过environment.rb文件中设置的路径获取yml文件。

这里的优点是每个系统只需要在各种git进程中修改单个文件,即存储 path / to / keys / directory 的env文件。每个开发人员/服务器都需要拥有该目录中文件的模板来复制这些文件,并将相应的密钥正确放置在这些文件中。