我只是想确保我没有误解这个,但如果我在我的config/secrets.yml文件中使用环境变量,我是否应该关心推送到公共回购?我看到很多关于将此文件添加到git-ignore以保护证书的文章,但如果它们作为环境变量传递,它应该不是问题的正确答案?Ruby on Rails Secrets.yml
回答
如果将它们作为环境变量传递,那么根本没有问题,因为在FIle内容中唯一可以看到的就是该变量的名称,而且这不是秘密。所以它可以推到你的回购没有任何担忧。
你是对的,如果它实际上没有保存值,你可以安全地推secrets.yml
。
当我用ENV(或Figaro),我通常只是消除secrets.yml
文件,并移动ENV分配到其相关的配置或初始化文件。对我来说,这比在回购中有一个秘密文件更清晰和模块化。
但是,人们也可以争辩说,将它们保存在secrets.yml中一样清晰,因为这就是Rails开发人员知道要看的地方,他们会立即看到他们需要将它们设置在ENV中。
只是一些思考。
是的,当其他一些程序员开始继续处理您的应用程序时,他会诅咒您必须定义并跟踪整个应用程序中的更改,而不是将它们全部放在一个地方!此外,您将有不同的初始化开发,测试和生产环境。等待发生的灾难。 – Aleks
他们不必跟踪任何地方的变化,因为相关的赋值(也就是说,将ENV值分配给Rails中的相关变量的地方)将与他们的相关问题/ gem /等进行分组。而且你不会有不同的初始化器,因为这是ENV的全部要点。 – rmhunter
换句话说,@Aleks刚刚表明ENV,secrets.yml等方面有不止一种思维方式。在Figaro自述文件的最后几个部分中已经很好地说明了各种方法及其推理。 – rmhunter
只要你把你的秘密在gitignore,并确保他们是变数,它会好的!你应该检查出费加罗,因为它为你处理
- 1. 为什么Ruby on Rails secrets.yml无法加载?
- 2. CMS on Ruby on Rails
- 3. Ruby与Ruby On Rails
- 4. ruby on rails form_for
- 5. Ruby on Rails - Sqlite3
- 6. Ruby on Rails - send_file
- 7. LocalJumpError(Ruby on Rails)
- 8. Mootools + Ruby on Rails ==?
- 9. Ruby on Rails + Devise
- 10. Ruby on Rails XML
- 11. OCIError(ruby on rails)
- 12. Docsplit Ruby on Rails
- 13. Ruby on Rails Time.now
- 14. Ruby on rails console
- 15. Ruby On Rails Application.html.haml
- 16. Ruby on Rails remote_form_tag
- 17. Ruby on Rails Time.zone.now
- 18. ruby on rails - spree.js'jquery.ui.all'
- 19. Ruby on rails redirect_to
- 20. Ruby ON rails- Webrick
- 21. Ruby on rails hosting
- 22. ActiveRecordNotFound Ruby On Rails
- 23. Ruby on Rails + EventMachine?
- 24. Ruby on Rails + Ajax
- 25. Ruby on Rails&Javascript
- 26. MongoDb Ruby on Rails
- 27. Friendly_ID Ruby on Rails
- 28. Ruby on Rails,Resque
- 29. Ruby on Rails - Facebook
- 30. Ruby on Rails datetime_select
这些职位之一是什么?这绝对不应该在gitignore文件中,但我只是好奇? – Aleks