我正在尝试覆盖使用Rebar发布的版本的配置。我想自动修改vm.args文件以使用-sname chat
参数到VM,而不是默认的-name chat@127.0.0.1
。
如果我理解正确,子目录files
包含配置文件的版本,当我使用rebar create-node nodeid=chat
时,这些版本将被复制到发布目录中。我没有强制覆盖,我已经使用我想要使用的值修改了文件中的版本。它没有通过发布。每当我重新创建发布时,它都会使用默认值覆盖文件./etc/vm.args
。我错误地使用钢筋吗?
这是我一直在做的(在Makefile中)来生成发行版:
gen-rel:
rm -rf ./rel/*
rebar create-node nodeid=chat
rebar generate
start:
./rel/chat/bin/chat start
stop:
./rel/chat/bin/chat stop
ping:
./rel/chat/bin/chat ping
rebuild: stop compile gen-rel start ping
PS:这是我应该如何使用螺纹钢进行构建和调试?我有另一个节点,我想连接到这个节点,我认为创建和运行该版本是让我的版本可以访问的最快捷,最简单的方法......
答案 0 :(得分:2)
create-node
rebar子命令只应运行一次,而不是每次运行generate
。如果您从create-node
制作目标中删除gen-rel
行并使用替换编辑rel/files/vm.args
文件,那么您应该会发现生成的版本现在将包含您的替代。
回顾步骤:
rebar create-node nodeid=chat
行(只需运行一次)。rel/files/vm.args
文件。make rebuild
。HTH