[WIP] erlup
Upgrade tools for Erlang/OTP. Contains rebar3 plugin and escript.
Overview
It is a tool to support the upgrade and downgrade of OTP application.
- Automatic generation of the appup file. See also.
Usage
Using rebar3
%% 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)Using escript
$ git clone https://github.com/soranoba/erlup
$ cd erlup
$ make$ 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 --dir /tmp/myapp,/usr/local/myapp -p 0.0.1 -c 0.0.2
$ erlup relup --dir /tmp/myappMore information
$ rebar3 help erlup
$ erlup -hConfigure file
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.
Attributes
| group | key | value | description |
|---|---|---|---|
| appup | extra | `{UpExtra :: term(), DoownExtra :: term()}’ | Specify the extra at code_change. |
| deps | `{module(), ModDeps :: [module()]}’ | Definition of dependency between modules. | |
| applys | `{Func :: atom(), UpArgs, DownArgs}’ | If the function has been export, to run at upgrade and downgrade. |