これはconfig/prod.secret.exsで設定します。これは機密扱いになっているので、バージョンコントロールには入れないようにしてください。
# config/prod.secret.exs
use Mix.Config
config :trope_api, MyApp.Endpoint,
secret_key_base: "SOMEVERYLONGSTRING"
このファイルは、下
# config/prod.exs
# Finally import the config/prod.secret.exs
# which should be versioned separately.
import_config "prod.secret.exs"
で設定/ prod.exsに含まれているだけで、あなたのバージョン管理システムからそれを維持するよりも、他のアプローチは、それを設定するには、環境変数を使用することですあなたのアプリを起動するとき。
あなたは、このようなあなたのアプリでそれらにアクセスすることができます。あなたにも開発中にこれを使用する場合は、エクスポートすることができ
$ PORT=4001 MIX_ENV=prod TESTCONFIG=testvalue mix phoenix.server
を
# config/prod.exs
# Just a test vaule for env variables
config :my_app, MyApp,
test_value: System.get_env("TESTCONFIG")
をそして
サーバーを起動するときにそれらを設定しますあなたのシェルの変数。または、プロジェクトルートに
.env
(または好きなもの)という名前のファイルを作成し、.gitignoreに追加してください。そこにはそうと同じように、ご使用の環境変数を追加します。
export TESTCONFIG="Test Config Value"
export OTHERTESTCONFIG="Other Test Config Value"
新しい端末セッションを開始するとき、ちょうどすぐにあなたのプロジェクトのフォルダ内source .env
を実行します。これはデータベース資格情報にも役立ちます。このようにして、バージョンコントロールから離れ、さらに重要なのはハードコーディングされません。したがって、チームで作業する場合は、ローカル開発環境(dbなど)に合わせて適切な値を持つ.env
ファイルを作成することができます。
アプリを本番環境に導入するときには、.env
ファイルをサーバーまたはあなたのコンテナは、より簡単で安全なスタートを可能にします。
注意:生産時には、このキーを秘密にする必要があります。したがって、prod.secret.exsでオーバーライドしてください。 – Johannes
"mix phoenix.gen.secretは非推奨です。代わりにphx.gen.secretを使用してください。 - 私のような他のGoogle社員にとって。 –