Upgrade tools for Erlang/OTP. Contains rebar3 plugin and escript.
It is a tool to support the upgrade and downgrade of OTP application.
Some of the library already exists, but they has many defects. For example, supporting downgrade and create the more safety appup. If you want to know in detail, please refer to the documentation of each command.
%% rebar.config
{plugins, [erlup]}.
$ git checkout v0.0.1
$ rebar3 release # make a previous version package
$ git checkout v0.0.2
$ rebar3 release # make a current version package
$ rebar3 erlup appup # generate the appup files (v0.0.1 -> v0.0.2)
$ rebar3 erlup relup # generate the relup file (v0.0.1 -> v0.0.2)
$ git clone https://github.com/soranoba/erlup
$ cd erlup
$ make escriptize
$ ls /usr/local/myapp/releases # previous versions
0.0.1 0.0.2 RELEASES start_erl.data
$ ls /tmp/myapp/releases # a new version
0.0.3 RELEASES start_erl.data
$ erlup appup -p 0.0.1 -c 0.0.2 -d /tmp/myapp -d /usr/local/myapp
$ erlup relup -c 0.0.2 -d /tmp/myapp -d /usr/local/myapp
If you use the rebar3.
%% rebar.config
{erlup,
[
{appup, [{extra, {[], []}}]},
{relup, []}
]}.
If you use the escript.
%% erlup.config
{appup, [{extra, {[], []}}]}.
{relup, []}.
The escript can read in the form of a rebar3.config.
Pull request is welcome =D