簡體   English   中英

如何在 rebar3 中使用操作系統環境變量

[英]How to use OS environment variables in rebar3

我目前有一個基於 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

您可以使用rebar.config.script進行動態配置 它將為您提供一個 Erlang 腳本,您可以在其中更新或添加rebar.config術語。 您可以在 Github 上搜索rebar.config.script以查找示例。 我在這里找到了一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM