2016-11-17 109 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,並確保他們是變數,它會好的!你應該檢查出費加羅,因爲它爲你處理