我们有多个开发人员正在使用我们当前的应用。该应用程序使用云中的数据。我们使用的服务有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)
答案 0 :(得分:1)
每个开发人员在其本地开发驱动器中都应该有app_keys.yml
,然后您只需将其添加到.gitignore文件中,这样就不会被git跟踪。
答案 1 :(得分:0)
我们遵循以下设计,使得键/信息依赖于各种工作机器/服务器等:
在environment.rb
中定义一个变量,该变量将path
存储到目录中,该目录包含每台机器需要的所有(或单个)yml文件。
无论何处需要加载这些密钥,都会通过environment.rb
文件中设置的路径获取yml文件。
这里的优点是每个系统只需要在各种git
进程中修改单个文件,即存储 path / to / keys / directory 的env文件。每个开发人员/服务器都需要拥有该目录中文件的模板来复制这些文件,并将相应的密钥正确放置在这些文件中。