• erlang热部署


    以下流程参考rebar的wiki,亲测

    rebar的版本一定要注意,高版本对于下面两个指令有bug

    rebar generate-appups
    rebar 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的shell
    release_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().
  • 相关阅读:
    学习软件工程的个人总结
    结对编程——黄金点游戏
    读取程序字符,行数,单词的个人程序
    c#代码分析
    Visual Studio2013的安装过程及练习测试
    小学三年级出题程序
    超级课程表的个人评价
    对软件工程的个人困惑
    个人附加作业
    个人最终总结
  • 原文地址:https://www.cnblogs.com/ziyouchutuwenwu/p/4048930.html
Copyright © 2020-2023  润新知