专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Erlang

[Elixir004]透过环境变量(Environment Variables)来管理config

发布时间:2011-06-29 17:48:09 文章来源:www.iduyao.cn 采编人员:星星草
[Elixir004]通过环境变量(Environment Variables)来管理config

在elixir的config中我们有时会使用的到一些不想暴露出来的配置项,常用的作法是如Phoenix

#config/prod.exs
use Mix.Config
...
# Finally import the config/prod.secret.exs
# which should be versioned separately.
import_config "prod.secret.exs"

在上面,我们可以把不应该暴露的项(如数据库passwd,auth_token...这些很重要的项)都写在prod.secret.exs(链接可见例子)中

我们再把prod.secret.exs这个文件不要加到项目的版本管理中, 单独开一个git仓库管理。

但是有时我们并不想再这样,还有一种方法(而且感觉比上面这种方法更好用)

就是把所有的应该写在prod.sesret.exs的项都写到系统的环境变量中

#config/prod.exs
use Mix.Config

....
config :application_name, ApplicationName.Repo,
  adapter: Ecto.Adapters.MySQL,
  username: System.get_env("PROD_REPO_USERNAME"),
  password: System.get_env("PROD_REPO_PASSWORD"),
  database: System.get_env("PROD_REPO_DATABASE"),
  hostname: System.get_env("PROD_REPO_HOSTNAME")
...

这时只需要在服务器上

#prod.env
export
PROD_REPO_USERNAME='username' export PROD_REPO_PASSWORD='loveyou' export PROD_REPO_DATABASE='database' export PROD_REPO_HOSTNAME='11.11.11.11'

只需要先

>source prod.env
>iex -S mix

这样就可以通过环境变量来管理elixir的配置啦。


 What benchmarks done on my developer machine look like to all my friends

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: