2016-11-17 186 views
0

我只是想确保我没有误解这个,但如果我在我的config/secrets.yml文件中使用环境变量,我是否应该关心推送到公共回购?我看到很多关于将此文件添加到git-ignore以保护证书的文章,但如果它们作为环境变量传递,它应该不是问题的正确答案?Ruby on Rails Secrets.yml

+0

这些职位之一是什么?这绝对不应该在gitignore文件中,但我只是好奇? – Aleks

回答

0

如果将它们作为环境变量传递,那么根本没有问题,因为在FIle内容中唯一可以看到的就是该变量的名称,而且这不是秘密。所以它可以推到你的回购没有任何担忧。

1

你是对的,如果它实际上没有保存值,你可以安全地推secrets.yml

我用ENV(或Figaro),我通常只是消除secrets.yml文件,并移动ENV分配到其相关的配置或初始化文件。对我来说,这比在回购中有一个秘密文件更清晰和模块化。

但是,人们也可以争辩说,将它们保存在secrets.yml中一样清晰,因为这就是Rails开发人员知道要看的地方,他们会立即看到他们需要将它们设置在ENV中。

只是一些思考。

+0

是的,当其他一些程序员开始继续处理您的应用程序时,他会诅咒您必须定义并跟踪整个应用程序中的更改,而不是将它们全部放在一个地方!此外,您将有不同的初始化开发,测试和生产环境。等待发生的灾难。 – Aleks

+0

他们不必跟踪任何地方的变化,因为相关的赋值(也就是说,将ENV值分配给Rails中的相关变量的地方)将与他们的相关问题/ gem /等进行分组。而且你不会有不同的初始化器,因为这是ENV的全部要点。 – rmhunter

+0

换句话说,@Aleks刚刚表明ENV,secrets.yml等方面有不止一种思维方式。在Figaro自述文件的最后几个部分中已经很好地说明了各种方法及其推理。 – rmhunter

1

只要你把你的秘密在gitignore,并确保他们是变数,它会好的!你应该检查出费加罗,因为它为你处理