2011-10-11 26 views
1

我正在構建一個Node.js應用程序,並需要以部署在Heroku上時可以讀取它們的方式存儲數據庫憑據(以及其他運行時屬性)。我的源代碼在公共GitHub存儲庫中可用。如何存儲開源Heroku Node.js應用程序的數據庫憑證?

我目前使用環境變量,使用heroku config:add配置,但我期望瞭解是否有任何替代方案。我可能想使用Cloud9 IDE,但它目前不支持環境變量。

另一種選擇是將參數存儲在配置中。文件,但我相信該文件需要檢入Git(並且因此可公開提供)以便推送到Heroku。

感謝您的幫助。

回答

4

ENV變量通常被認爲是要走的路,Heroku自己對database_urls等進行操作的方式。

由於您和您的應用程序是唯一可以訪問env vars的人,所以您通常可以確定安全。

把證書放在Git或類似的地方是一個壞主意,因爲它是另一個需要保護的地方。

+0

這是有道理的。我只是想了解可用的備選方案,因爲我無法在Cloud9 IDE中設置環境變量。 –

+0

我不清楚選擇何種代碼編輯器必須處理這個問題? –

+0

我知道環境變量是實現我的目標的一種方式(看似最好)。我期待看到其他解決方案的存在,因爲我無法使用環境變量和Cloud9 IDE。 –

0

我知道使用命令行參數解決開發問題的一種方法。這些可以在運行/調試配置中指定。然後可以訪問process.argv中的參數。當然這意味着它們將被存儲在您的Cloud9IDE開發環境中。然後,您可以在零售生產中使用ENV變量。這至少會防止憑據在源文件或配置文件中可見。

相關問題