`
arksea
  • 浏览: 62313 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

用rebar做热更新的操作流程

阅读更多

 

    在没有rebar的时代,要打包项目及热升级,需要使用reltool,systools,release_handler等工具,还必须熟悉各种配置,有了rebar这个神器,所有的事情都变得非常的简单,所以这里就只简要的记录一下热升级的操作流程,哪怕是初学者,看后稍一操作琢磨就会理解
假定project名称:unicorn
 
1、编译打包
./rebar clean
./rebar compile
./rebar generate

###rebar的一个小bug,回滚时会用到这个文件,可以把这个操作写在reltool.config中
cp rel/unicorn/releases/1.1/unicorn.boot rel/unicorn/releases/1.1/start.boot  

./rebar generate-appups privious-release=/opt/unicorn/dsfreg
./rebar generate-upgrade privious-release
 
2、上传升级包到目标节点:
scp releases/unicorn_1.1.tar.gz  unicorn@192.168.0.10/opt/unicorn/dsfreg/releases
 
 
3、登录到目标节点执行rebar生成的install_upgrade.escript
./bin/install_upgrade.escript  unicorn prjcookie unicorn-1.1
 
如果部署节点没有安装erlang运行环境,这一步也可以在本地用终端连接到远程节点直接执行,但是这样操作要小心,不要轻易执行q()
erl -sname admin -setcookie prjcookie
CTRL-G
c unicorn@192.168.0.10
j 2


release_handler:unpack_release("unicorn_1.1").
release_handler:check_install_release("1.1").
release_handler:install_release("1.1").
release_handler:make_permanent("1.1").
 
4、回滚
release_handler:install_release("1.0").
release_handler:make_permanent("1.0").

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics