1

我在 Windows 机器上开发了一个应用程序,我需要将它部署到 Ubuntu 18.04 服务器。我想使用的工具是 distillery 和 edeliver。

那么我可以在我的Windows机器上使用distillery构建版本,还是应该在具有与未来生产机器相同的CPU架构和Ubuntu 18.04的机器上构建它,例如创建 Virtualbox Ubuntu 客户机,共享我的应用程序的项目文件夹Windows 主机和来宾机器之间以及在 Ubuntu 来宾机器上构建版本?

如果有人在 Windows 上开发 elixir 应用程序,您可以分享您的部署过程的步骤吗?

4

3 回答 3

0

过去,我曾尝试帮助 @PaulSchoenfelder 部署基于 Windows 构建的 Elixir 应用程序。我不相信我在校外说我们从来没有在这方面取得过巨大的成功。我们可以让它工作,但它总是有一些粗糙的边缘。因此,我对您的回答是在您的 Ubuntu 目标上构建它(并针对它运行 Distillery)。


编辑:我忘记了,如果您使用的是 Windows 10,那么WSL也可能是您的选择。

于 2019-01-23T21:17:02.120 回答
0

一般来说,部署 Erlang 或 Elixir 的最佳方式是使用发布版。一个版本将包括 Erlang Runtime 以及所有的配置、Beam 文件等。

理论上,您可以交叉编译一个版本,但它可能比它的价值更麻烦。我通常只是通过 Vagrant 使用虚拟机

我在这里有一个关于它的电子邮件课程https://elixirtraining.us7.list-manage.com/subscribe?u=150de5dbc56d446a48f7fc3fd&id=03791ac7a9

于 2019-01-31T13:33:23.133 回答
0

通常,酒厂会打包运行应用程序所需的一切,并且取决于平台。我们在 docker 中使用与生产服务器架构精确匹配的映像进行构建,但也可以使用一些专用的构建服务器。

但是,如果您的应用程序不使用任何依赖于二进制文件的奇怪库,我认为(但我不确定)您可能只需根据需要在服务器上设置运行时并移动在 Windows 上编译的 erlang 字节码即可。但是你为什么要这样做呢?

于 2019-01-23T11:35:19.317 回答