1

Rails 4.1.1 を使用して、プロジェクトを作成しました。それを立ち上げて実行したので、私の研究開発チームと共有したいと思います。もちろん、.gitignore はsecrets.ymlファイルをソース管理から隠しますが、それらのバージョンは独自のバージョンのsecrets.ymlファイルなしでは実行されず、次のエラーが発生します。

リクエストの処理中に予期しないエラーが発生しました: secret_key_base「開発」環境では見つかりません。この値を「config/secrets.yml」に設定してください

  • 秘密のトークンを共有する必要がありますか? (したがって、ローカル マシンにコピー アンド ペーストするだけです)
  • それらは別々のランダムキーにする必要がありますか? (レポをクローンするときのプロセスは何ですか?)
4

2 に答える 2

3

秘密鍵をソース管理に保存することは避けるべきなので、代わりに次のような秘密のテンプレートを含むconfig/secrets.sample.ymlをリポジトリに追加することをお勧めします。

development:
  secret_key_base:
  some_random_key:

test:
  secret_key_base:
  some_random_key:

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  secret_key_base: <%= ENV["SOME_RANDOM_KEY"] %>

次に、安全な方法 (声、紙など) に値を入力するだけです。

アプリの ENV 変数をデプロイする方法については、ここで読むことができる興味深いブログ投稿があります。

于 2014-07-07T19:25:22.093 に答える
1

secrets.yml キーを共有する必要はなく、次の rake コマンドを使用して実際に新しい秘密キーを生成できます。

rake secret

これは、次のような 128 桁の疑似乱数 16 進数値を出力するはずです。

b00dbff430b2c5596d10b3434ecd8a25515db481dccf818869a21d0c276ad159f00680aac38957ad57a73c9254754b32c42ef4fe2f76ee48d6e4ad8d4dc6a203

各研究開発チームのメンバーsecret_key_baseに、secrets.yml ファイル内のそれぞれに対してそのコマンドを実行してもらいます。


これが本番環境用の場合は、取得した値をrake secret環境変数に設定する必要があります。

于 2015-10-06T03:18:18.500 に答える