Bunu, config/prod.secret.exs dosyasında ayarlayabilirsiniz. Bunun gizlilik olması gerektiğinden, sürüm kontrolünüze girmemesi gerektiğini unutmayın.
# config/prod.secret.exs
use Mix.Config
config :trope_api, MyApp.Endpoint,
secret_key_base: "SOMEVERYLONGSTRING"
Bu dosya yapılandırma dahildir/alt
# config/prod.exs
# Finally import the config/prod.secret.exs
# which should be versioned separately.
import_config "prod.secret.exs"
sadece sürüm kontrol sisteminin dışında tutmak için daha bir başka yaklaşım olarak prod.exs ayarlamak için ortam değişkenlerini kullanmak olacaktır uygulamanızı başlattığınızda.
Böyle uygulamanızda erişebilirsiniz: sunucu
$ PORT=4001 MIX_ENV=prod TESTCONFIG=testvalue mix phoenix.server
başlatırken de gelişim sırasında bu kullanmak istiyorsanız
# config/prod.exs
# Just a test vaule for env variables
config :my_app, MyApp,
test_value: System.get_env("TESTCONFIG")
Sonra bunları, dışa olabilir Kabuğunuzdaki değişkenler. Veya proje kökünüzde .env
(veya istediğiniz her şeyi) adlı bir dosya oluşturup onu .gitignore'a ekleyin. Yeni bir terminal oturumu başlatırken
export TESTCONFIG="Test Config Value"
export OTHERTESTCONFIG="Other Test Config Value"
, sadece hızlı bir şekilde proje klasörünün içindeki source .env
çalıştırın: Orada bu kadar gibi, ortam değişkenleri ekleyin. Bu, veritabanı kimlik bilgileri için de kullanışlıdır. Bu sayede sürüm kontrolü dışında kalıyorlar ve daha da önemlisi kodlanmış değiller. Eğer bir takımda çalışırken Yani, herkes kendi yerel kalkınma kurulumu için doğru değerler (db vs.) kendi .env
dosya olabilir
üretime bir uygulama dağıtırken, sunucunuzda veya .env
dosyaları kullanabilirsiniz Daha kolay ama güvenli bir başlangıç için kabınızı.
Lütfen dikkat: Üretimde bu anahtarın bir sır olarak saklanması gerekir. Yani bir prod.secret.exs içinde geçersiz kılın. – Johannes
"mix phoenix.gen.secret kullanımdan kaldırıldı. Bunun yerine phx.gen.secret kullanın." - Benim gibi diğer yayıncılar için. –