跨平台Elixir部署

时间:2016-07-07 08:55:59

标签: elixir exrm

我已经创建了Elixir应用程序(Slack bot),我想将其部署到运行Ubuntu的朋友服务器上。无需在他的机器上构建应用程序,最好的方法是什么?

我尝试使用 exrm 创建要部署的软件包,但由于我在Windows上开发,该软件包仅适用于Windows机器(erts-7.2.1/bin dir仅包含Windows二进制文件) 。

我不需要非常高级的部署,所以也许我可以复制已编译的应用程序并在那里运行它。但是我不知道应该复制什么(光束文件?),从哪里以及如何运行它。

另一个问题是服务器上没有Erlang / Elixir,但是有docker所以我可以使用其中一个图像。我应该使用哪一个 - Erlang或Elixir图像?

应用程序本身使用启动主管的应用程序行为(use Application)。

1 个答案:

答案 0 :(得分:1)

前言:如果可以,我可以问你的朋友你是否可以在机器上安装elixir / erlang。你可以去码头路线,但据我所知,这意味着你无法进行“热升级”。

我发现将应用程序部署到运行ubuntu的服务器的最简单方法是使用Edeliver。基本上,一旦设置完成,部署就像下面这样简单:

mix edeliver build release 
mix edeliver deploy release to production
mix edeliver restart production

查看自述文件 - 它非常清楚地贯穿整个过程。