summaryrefslogtreecommitdiff
path: root/test/upgrade_project/README.md
blob: cf753e84a3aa9e32105814b7b3f0ec30c6bed183 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#### Building version 0.1
    rebar compile
    rebar generate
    mv rel/dummy rel/dummy_0.1
    rebar clean
    # start the release:
    cd rel/dummy_0.1
    bin/dummy console

    erl> dummy_server:get_state().
    erl> dummy_server:set_state(123).
    erl> dummy_server:get_state().

#### Building version 0.2

    # Now, in another terminal we prepare an upgrade..

    # change release version numbers from 0.1 to 0.2 in
    $EDITOR apps/dummy/src/dummy.app.src
    $EDITOR rel/reltool.config

    rebar compile
    rebar generate
    rebar generate-upgrade previous_release=dummy_0.1
    tar -zvtf rel/dummy_0.2.tar.gz


#### Deploying with release_handler
    mv rel/dummy_0.2.tar.gz rel/dummy_0.1/releases/

    # Now use release_handler in the running erlang console for the deploy:

    erl> release_handler:unpack_release("dummy_0.2").
    erl> release_handler:install_release("0.2").
    erl> release_handler:make_permanent("0.2").

    erl> release_handler:which_releases().
    erl> dummy_server:get_state().