24

まったく新しい空の Rail 3.0.4 プロジェクトを GitHub にプッシュしようとしていますが、Cookie セッション ストアに秘密鍵があることに気付きました。

config/initializers/secret_token.rb

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

では、GitHub にプッシュされないようにするにはどうすればよいでしょうか? このファイルは ( を使用して.gitignore) 無視できますが、このファイルがないと、Rails アプリはまったく実行されません (完全な Rails アプリではありません)。または、一般に、他のファイルまたはフレームワークにも秘密鍵を含むファイルがある場合があります。このような場合、GitHub にプッシュする際にどのように処理すればよいでしょうか?

4

4 に答える 4

24

レポに追加します。

  • それのテンプレート ( secret_token.rb.template)、
  • secret_token.rbサーバーで見つかったローカルデータに基づいて適切な構成ファイルを生成できるスクリプト(シークレット値をデコードしてファイルに入れる準備ができている暗号化ファイルなどsecret_token.rb)

そこから、git 属性のカスタム ドライバーを追加します。

ここに画像の説明を入力

上記のスクリプトsmudgeは、作業ツリーのチェックアウト時に適切なファイルを自動的に生成する ' ' スクリプトになります。

于 2011-02-27T10:09:48.910 に答える
8

秘密鍵をある種の外部構成ファイルに入れます。それが私たちの仕事です。

于 2011-02-27T08:13:46.227 に答える
2

まさにそれを行う外部ツールがいくつかあります。基本的に、これらのツールはファイルを個人データで暗号化して VCS に保存しますが、元の暗号化されていないファイルは無視します。

最も有名で信頼できるものの 1 つはblackbox. gpgファイルの暗号化に使用し、 と の両方gitで動作しますhg。ちなみに作成はSOチーム。代替セクションを見てください。他に少なくとも 5 つのツールがあります。

というツールもお勧めできます。git-secretこれも を使用していますgpg。しかし、それはでのみ機能しgitます。主な利点は、ワークフローが他のツールに比べてはるかに簡単であることです。

于 2016-03-10T22:26:23.113 に答える
1

プライベート リポジトリの場合、Github のセキュリティ/プライバシーを信頼するリスクが生じる可能性があります。または:
- サーバー上の構成ファイルからデータをプルします。たとえば、展開に Capistrano を使用する場合、サーバー上のどこかから構成ファイルをコピーするステップを追加できます。
- 環境変数を使用します。

于 2011-02-27T08:19:36.983 に答える