Как развернуть приложение elixir с компьютера под управлением Windows на сервер Ubuntu - PullRequest
0 голосов
/ 23 января 2019

Я разработал приложение на компьютере с Windows, и мне нужно развернуть его на сервере Ubuntu 18.04. Инструменты, которые я хотел бы использовать, - это винокурня и эдельвер.

Так что я могу просто собрать релиз с ликеро-водочным заводом на моей Windows машине или я должен собрать ее на машине с тем же CPU архитектура и Ubuntu 18.04 в качестве будущей производственной машины, например, создайте Virtualbox Ubuntu guest , поделитесь папкой проекта моего приложения между хост-машиной Windows и гостевой машиной и выпустите сборку на Гостевая машина Ubuntu?

Если кто-то разрабатывает приложения elixir для Windows, можете ли вы рассказать о шагах процедуры развертывания?

Ответы [ 3 ]

0 голосов
/ 24 января 2019

В прошлом я пытался помочь @PaulSchoenfelder с развертыванием приложений Elixir, созданных для Windows. Я не верю, что говорю из школы, чтобы сказать, что у нас никогда не было такого успеха. Мы могли бы заставить это работать, но у этого всегда были некоторые грубые края. Следовательно, мой ответ для вас будет построить его (и запустить Distillery против него) на вашей цели Ubuntu.


РЕДАКТИРОВАТЬ: я забыл, что если вы используете Windows 10, то WSL может быть вариантом для вас.

0 голосов
/ 31 января 2019

В общем, лучший способ развернуть Erlang или Elixir - это использовать релиз.Релиз будет включать в себя Erlang Runtime, а также все ваши конфигурации, файлы лучей и т. Д.

Теоретически вы можете кросс-компилировать релиз, но это, вероятно, больше проблем, чем оно того стоит.Обычно я просто использую виртуальную машину через Vagrant

. У меня есть курс электронной почты об этом здесь https://elixirtraining.us7.list -manage.com / subscribe? U = 150de5dbc56d446a48f7fc3fd & id = 03791ac7a9

0 голосов
/ 23 января 2019

Обычно винокурня упаковывает все, что вам нужно для запуска вашего приложения, и это зависит от платформы. Мы делаем наши сборки в Docker с изображением, которое точно соответствует архитектуре рабочего сервера, но также возможно использовать некоторый выделенный сервер сборки.

Однако, если ваше приложение не использует какие-то нечетные библиотеки, которые зависят от двоичных файлов, я думаю (но я не уверен), что вы могли бы просто настроить время выполнения на сервере по своему усмотрению и просто переместить скомпилированный байт-код erlang на винде. Но почему вы хотите это сделать?

...