1#### Building version 0.1 2 rebar compile 3 cd rel 4 rebar generate 5 mv dummy dummy_0.1 6 cd .. 7 rebar clean 8 # start the release: 9 cd rel/dummy_0.1 10 bin/dummy console 11 12 erl> dummy_server:get_state(). 13 erl> dummy_server:set_state(123). 14 erl> dummy_server:get_state(). 15 16#### Building version 0.2 17 18 # Now, in another terminal we prepare an upgrade.. 19 20 # change release version numbers from 0.1 to 0.2 in 21 $EDITOR apps/dummy/src/dummy.app.src 22 $EDITOR rel/reltool.config 23 24 rebar compile 25 cd rel 26 rebar generate 27 # previous_release path is relative to your rel directory 28 rebar generate-appups previous_release=dummy_0.1 29 rebar generate-upgrade previous_release=dummy_0.1 30 tar -zvtf dummy_0.2.tar.gz 31 mv dummy dummy_0.2 32 33 34#### Deploying with release_handler 35 mv dummy_0.2.tar.gz dummy_0.1/releases/ 36 37 # Now use release_handler in the running erlang console for the deploy: 38 39 erl> release_handler:unpack_release("dummy_0.2"). 40 erl> release_handler:install_release("0.2"). 41 erl> release_handler:make_permanent("0.2"). 42 43 erl> release_handler:which_releases(). 44 erl> dummy_server:get_state(). 45 46#### Building version 0.3 47 rm -r rel/dummy 48 49 # Now repeat steps in 'Building version 0.2' and 'Deploying with release_handler' 50 # while replacing '0.2' by '0.3' and '0.1' by '0.2'. 51