我已经在Windows计算机上开发了一个应用程序,需要将其部署到Ubuntu 18.04服务器。我想使用的工具是酿酒厂和edeliver。
所以我可以只在 Windows 计算机上使用 distillery 构建发行版,还是应该在具有相同的计算机上构建它? > CPU 体系结构和 Ubuntu 18.04 作为将来的生产计算机,例如,创建Virtualbox Ubuntu guest 计算机,在Windows主机和Windows Server之间共享我的应用程序的项目文件夹来宾计算机并在Ubuntu来宾计算机上构建发行版?
如果有人在Windows上开发Elixir应用程序,您可以共享部署过程的步骤吗?
答案 0 :(得分:0)
通常,酒厂会打包运行应用程序所需的一切,并且它依赖于平台。我们使用与生产服务器架构完全匹配的映像在docker中进行构建,但是也可以使用一些专用的构建服务器。
但是,如果您的应用程序不使用任何依赖于二进制文件的奇数库,我认为(但是我不确定)您可能会随便在服务器上设置运行时并移动已编译的erlang字节码就可以了在Windows上。但是为什么要这么做呢?
答案 1 :(得分:0)
过去,我曾尝试帮助@PaulSchoenfelder部署基于Windows的Elixir应用程序。我不相信我在放学时说我们从来没有取得过如此巨大的成功。我们可以使它工作,但是它总是有一些粗糙的边缘。因此,我对您的答复是在Ubuntu目标上构建它(并对它运行Distillery)。
编辑:我已经忘记了,如果您使用的是Windows 10,那么WSL也可能是您的选择。
答案 2 :(得分:0)
通常,部署Erlang或Elixir的最佳方法是使用发行版。一个发行版将包括Erlang Runtime以及您的所有配置,梁文件等。
从理论上讲,您可以交叉编译一个发行版,但这可能比它值得的麻烦多。我通常只是通过Vagrant使用虚拟机
我在https://elixirtraining.us7.list-manage.com/subscribe?u=150de5dbc56d446a48f7fc3fd&id=03791ac7a9
上有关于它的电子邮件课程