码迷,mamicode.com
首页 > 其他好文 > 详细

[Elixir003]通过环境变量(Environment Variables)来管理config

时间:2016-03-14 21:39:39      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

在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

技术分享

 

[Elixir003]通过环境变量(Environment Variables)来管理config

标签:

原文地址:http://www.cnblogs.com/zhongwencool/p/elixir_config_env.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!