首页 > 代码库 > erlang热部署
erlang热部署
以下流程参考rebar的wiki,亲测
rebar的版本一定要注意,高版本对于下面两个指令有bug
rebar generate-appupsrebar generate-upgrade
经过一个个版本的测试,2.2.0版本可用,但是这个版本的clean和compile指令不支持-r参数
例子:
用rebar建立工程,也可以用大神的rebar-creator脚本创建,我是用的后者,比较方便
我创建的工程是tcp_server
修改apps,你的app,src文件里面的vsn字段的版本号和rel/reltool.config里面的rel字段的版本号一致,测试写0.1
(是否可以不一致,不清楚,但是官方demo里面是一致的;并且作为版本管理来说,应该一致)
rebar compile;rebar compile;rebar generate -f;
将rel/tcp_server重命名为tcp_server_0.1
重新修改版本号为0.2,两个地方都要改。
重新编译:
rebar clean;rebar compile;rebar generate -f;rebar generate-appups previous_release=tcp_server_0.1;rebar generate-upgrade previous_release=tcp_server_0.1;
然后在你的rel目录看到一个tcp_server_0.2.tat.gz的压缩包了吧
我们把这个压缩包mv到tcp_server_0.1/release
cd tcp_server_0.1./bin/tcp_server console进入erlang的shellrelease_handler:which_releases().
看到的应该是0.1
然后解压0.2的包,安装进入
erl> release_handler:unpack_release("tcp_server_0.2").erl> release_handler:install_release("0.2").erl> release_handler:make_permanent("0.2").erl> release_handler:which_releases().
erlang热部署
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。