我目前有一个基于 rebar3 的 erlang 应用程序,它由一个 erlang 后端和一个 javascript 前端组成。为了结合前端和后端构建系统,我使用了一个 makefile。我的 rebar.config 看起来像这样:
钢筋配置:
...
{relx, [{release, {pgserver_dev, "0.1.0"},[pgserver]}
]},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true}
]}.
生成文件:
...
release:
@echo "creating release"
rebar3 release
ln -sf _build/$(PROFILE)/rel/$(APP)_dev/bin/$(APP)_dev /.run-$(APP)-$(PROFILE)
我想在rebar.config文件中使用环境变量来控制参数,例如版本——{pgserver_dev, "0.1.0"}
在创建版本时。如果我指定一个变量:VERSION
构建可能如下所示:
钢筋配置:
...
{relx, [{release, {pgserver_dev, os:getenv("VERSION")},[pgserver]}
]},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true}
]}.
那么,是否可以在relx/rebar3 中使用linux 环境变量呢?
PS:这是不可能的os:getenv()
,构建失败:
===> Error reading file rebar.config: 15: bad term