[erlang-questions] Deploying forked Erlang releases?

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Wed Sep 9 12:39:58 CEST 2015


On Wed, Sep 9, 2015 at 11:08 AM, Roger Lipscombe <roger@REDACTED>
wrote:

> 3. Failing that, how are other people deploying Erlang? Do you just
> unpack a tarball into /?
>

Releases.

A release packs an ERTS together with your code, so it is self-contained.
You then don't have to deploy an Erlang package next to your code. Whatever
ERTS the build-host uses is the one that is packaged into the release. This
solves the problem of having a locally patched Erlang.

For building Erlang releases, anything now goes. We use kerl, but we don't
require special patches on top of Erlang, just some compiler flags
(--disable-hipe, --enable-dirty-schedulers,--with-dynamic-trace=dtrace).
However, this is easily adaptable to a patched world with the
(experimental) kerl git option.

We often simply deploy these as tarballs which we unpack somewhere
(/opt/foo or /usr/local/foo depending on OS type). Then we install some
start-script for them and we are good to go.

I spent much time trying to get packaging right in $OS, but recently, I've
had more success with the above low-level method. In a world where it is
easy to "roll a new machine", you can just use that machine as a starting
point. You don't have to worry too much about being able to remove software
from the system again, which is one of the primary reasons for the
existence of package managers.


-- 
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150909/5f50eb49/attachment.htm>


More information about the erlang-questions mailing list