合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
官方wiki https://github.com/rebar/rebar/wiki • Getting Started • Rebar and OTP Conventions • Rebar Commands • Dependency management • Dynamic configuration • Template Support • Built-in templates • Release Handling • Upgrades 1.Creating the project rebar create-app appid=appname 2.Compiling with rebar rebar.config {sub_dirs, [ "apps/dummy_proj", "rel" ]}. {erl_opts, [debug_info, fail_on_warning]}. {require_otp_vsn, "R14"}. ./rebar compile 3.Running your app erl -pa apps/*/ebin -boot start_sasl -s dummy_proj 4.Upgrades Building version 0.1 rebar compile cd rel rebar generate mv dummy dummy_0.1 cd .. 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 cd rel rebar generate rebar generate-appups previous_release=dummy_0.1 rebar generate-upgrade previous_release=dummy_0.1 # Examine contents of upgrade package if you wish: tar -zvtf dummy_0.2.tar.gz mv dummy dummy_0.2 Deploying with release_handler mv dummy_0.2.tar.gz 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(). Building version 0.3 rm -r rel/dummy # Now repeat steps in 'Building version 0.2' and 'Deploying with release_handler' # while replacing '0.2' by '0.3' and '0.1' by '0.2'. Caveats: • Appup and upgrade generation do not work with zipped applications (.ez extension). • Downgrade instructions are not currently generated, only upgrade instructions.