簡體   English   中英

當你的項目中有密鑰時,如何才能推送到GitHub?

[英]when you have secret key in your project, how can pushing to GitHub be possible?

我正在嘗試將一個全新的,空的Rail 3.0.4項目推送到GitHub,但只是意識到cookie會話存儲有一個密鑰:

config/initializers/secret_token.rb

NewRuby192Rails304Proj::Application.config.secret_token = '22e8...'

那么我們怎樣才能避免它被推向GitHub呢? 我們可以忽略這個文件(使用.gitignore ),但沒有這個文件,Rails應用程序根本不會運行(並且不是一個完整的Rails應用程序)。 或者通常,其他文件或框架也可能包含包含密鑰的文件。 在這種情況下,推送到GitHub時應該如何處理?

添加你的回購:

  • 它的模板( secret_token.rb.template ),
  • 一個腳本,能夠根據服務器上找到的本地數據生成一個正確的配置文件secret_token.rb (就像一個加密文件,其秘密值已准備好被解碼並放入secret_token.rb文件中)

從那里,添加一個git屬性自定義驅動程序

在此輸入圖像描述

上面引用的腳本將是您的“ smudge ”腳本,它將在工作樹的結帳時自動生成正確的文件。

將密鑰放在某種外部配置文件中。 這就是我們的工作。

有幾種外部工具可以做到這一點。 基本上,這些工具使用您的私有數據加密文件並將其存儲在VCS中,但忽略原始的未加密文件。

blackbox是最知名和最值得信賴的。 它使用gpg加密你的文件,並使用githg 順便說一下,它是由SO團隊創建的。 看看替代部分,它至少有五個其他工具。

我還可以推薦一款名為git-secret的工具,它也使用gpg 但它只適用於git 主要優點是與其他工具相比,工作流程更容易。

如果它是私有存儲庫,您可能會冒險信任Github的安全/隱私..或者:
- 從服務器上的配置文件中提取數據。 例如,如果使用Capistrano進行部署,則可以添加從服務器上的某個位置復制配置文件的步驟。
- 使用環境變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM