zoedsoupe
Why my release don't get env vars?
I’m following these two tutorials:
https://thoughtbot.com/blog/deploying-elixir-to-aws-elastic-beanstalk-with-docker
And I can create a release without so much effort, however, creating a .env file and then sourcing it doesn’t get effect…
My solution was to declare each env var manually, on one-line shot and run migrations and start the app.
Am I doing something wrong?
Marked As Solved
zoedsoupe
If you get here from google, I strongly advise you to read the entire topic! You’ll learn a lot!
Yeah! Rolling back to another branch solved the test issues…
So summing up:
env var not matter on creating a release with
MIX_ENV=prod mix release
they only matter on starting the release!
Thank you all so much!
Also Liked
NobbZ
It is not that easy. Depending on how and where you read them they might also affect the build.
config/runtime.exs is only evaluated during application boot, therefore its solely runtime config.
NobbZ
What is DB_URL in the system environment?
Do you perhaps have no dockerignore file which contains _build and deps and therefore partial builds slip into your container, which again might cause config values to exist that you do not want to exist?
NobbZ
As far as I know, config/test.exs does not set or overwrite the secret_key_base in a default generated application.
So you might have changed some things for a reason or by accident. It does not make (much) sense to read the env during test. If you do not want to hardcode a secret_key_base in config/config.exs (which is still there) you can remove it there and use config/runtime.exs instead to read it from the env, while hardcoding some “well known secret” in config/test.exs.
Or you just don’t touch the value in the test config and use the one from the “main” config as a well known default, that you shouldn’t use in production then though.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








