<div dir="ltr">Some Erlang applications use compiled binaries, so any cross-build using those apps will need to handle that situation too.<div><br></div><div>Where I work, I tend to edit and prototype on Mac OSX, but builds for deployment are made on Linux virtual machines running on the OSX machine.</div>
<div><br></div><div>Our deployment is on amd64 Linux, so there's no problem running the VMs on VMware.</div><div><br></div><div>I have no idea how useful this would be for ARM work.</div><div><br></div><div>If your ARM Linux OS has Erlang packages (even if only for a different architecture) I'd suggest the closer you get to native build the better.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 5:24 PM, Dmitry Kolesnikov <span dir="ltr"><<a href="mailto:dmkolesnikov@gmail.com" target="_blank">dmkolesnikov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
Yes, there are two options:<br>
<br>
a) use pure retool, you need to have a cross compiled OTP. The reltool allows you to define OTP root_dir at sys section, e.g:<br>
{root_dir, "/usr/local/otp_R16B03_arm"}<br>
{root_dir, "/usr/local/otp_R16B03_linux"}<br>
<br>
The reltool assembles an application at inject “cross-compiled” binaries for VM. This option would not work if you are using native flag.<br>
<br>
b) use dockers. I’ve made a Makefile to “wrap” rebar, reltool and dockers work-flow. <a href="https://github.com/fogfish/makefile" target="_blank">https://github.com/fogfish/makefile</a><br>
<br>
Personally, I am using option A for Erlang/ARM deployment, the option B is used for production deployment to AWS EC2<br>
<br>
Best Regards,<br>
Dmitry<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 18 Aug 2014, at 10:12, Ivan Uemlianin <<a href="mailto:ivan@llaisdy.com">ivan@llaisdy.com</a>> wrote:<br>
<br>
> Dear Dmitry<br>
><br>
> Is (3) possible now? Build on a Mac; deploy to a linux/bsd machine?<br>
><br>
> Thanks<br>
><br>
> Ivan<br>
><br>
> --<br>
> festina lente<br>
><br>
><br>
>> On 18 Aug 2014, at 07:43, Dmitry Kolesnikov <<a href="mailto:dmkolesnikov@gmail.com">dmkolesnikov@gmail.com</a>> wrote:<br>
>><br>
>> Hello,<br>
>><br>
>> There is a needs to build standalone Erlang software service deployable to hosts on network. There was an multiple attempt to use various build solution such as GNU autotools with custom M4 macros, application packaging as depicted by Erlang OTP In Action, rebar, reltool and other. However, there is set of requirements which needs to be addressed to simplify production operation, see section below. Rebar and reltool with naive Makefile glue allows to achieve then.<br>
>><br>
>> Requirements:<br>
>><br>
>> 1. The production deployment of Erlang application performed on hosts running vanilla Linux distribution. The major assumption -- Erlang/OTP runtime is not installed on target host. The application needs to package and deliver Erlang runtime along with its code.<br>
>><br>
>> 2. The application life-cycle management is performed using service management tools supplied by Linux distribution. The operation team can start / stop target application as a daemons using unified approach (e.g. service xxx start).<br>
>><br>
>> 3. The application development and operation is performed on various environment; the development environment is built on Mac OS; the production system uses Linux distributions. The developer shall have ability to assemble of production image without access to dedicated build machines.<br>
>><br>
>> 4. The assembly of production images always managed from source code repository either private or public git. It slows down procedure of package assembly but ensure consistency of delivered code.<br>
>><br>
>> I found reltool + rebar + Makefile is perfect approach to address those requirements. These tools gives you enough customisation power with very simple semantic.<br>
>><br>
>> Best Regards,<br>
>> Dmitry<br>
>><br>
>>> On 17 Aug 2014, at 19:07, Francesco Cesarini <<a href="mailto:francesco@erlang-solutions.com">francesco@erlang-solutions.com</a>> wrote:<br>
>>><br>
>>> Hi,<br>
>>><br>
>>> I was wrapping up the chapter on release handling for the OTP book and never having used it before, decided to take a look at reltool. Is anyone using it? I am finding it counter intuitive and struggling to see how it simplifies the task of creating releases.<br>
>>><br>
>>> Feel free to reply to the list or ping me privately.<br>
>>><br>
>>> Thanks,<br>
>>> F<br>
>>><br>
>>> --<br>
>>> Founder & Technical Director<br>
>>> Erlang Solutions Ltd.<br>
>>><br>
>>> _______________________________________________<br>
>>> erlang-questions mailing list<br>
>>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Christopher Vance
</div>