问题标签 [distillery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
181 浏览

elixir - 使用酿酒厂部署单个文件?

背景

我现在需要部署一个 OTP 应用程序。为了实现这一点,我正在使用酿酒厂。我的目标是将一个自给自足的文件传递给包含所有内容且不需要提取的 PROD 机器。

常规路线

大多数使用酿酒厂的人都会知道通常的路线:

  1. MIX_ENV=prod mix release
  2. 将压缩包复制build/prod/rel/<name>/releases/<version>/<name>.tar.gz到部署服务器
  3. 提取tarbal
  4. 运行代码。

客观的

我的目标是消除第 3 步。我不想提取任何东西,我只想复制发布并运行它,就像 sudo 可执行文件一样。

– 可执行文件

根据文档,也可以运行MIX_ENV=prod mix release --executableMIX_ENV=prod mix release --transient. 这将创建一个不需要提取的伪可执行文件。

问题

但是,运行MIX_ENV=prod mix release --executable命令后,我通常会搜索文件build/prod/rel/<name>/releases/<version>/<name>.run. 从理论上讲,这应该是我需要复制到我的部署服务器中的文件,但我在任何地方都找不到它。

  • 我需要将哪个文件复制到部署服务器中,它在哪里?
0 投票
1 回答
475 浏览

logging - 使用酒厂管理日志文件

背景

使用 distillery 启动 OTP 应用程序,我注意到所有日志都转到./var/log/文件夹中的 2 个不同文件:

  • erlang.log.1
  • run_erl.log

问题

我这里有问题:

  1. 我不知道run_erl.log应该记录什么
  2. 我想将默认日志路径从更改./var/log/erlang.log.1./log/myapp.log

研究

我已经检查了这个讨论以获取一些提示,但根据它我必须更改:logger额外应用程序的配置。

Distillery 版本中的日志文件

这个搜索让我看到了下面的代码片段,它使用:logger_file_backend

https://snippets.aktagon.com/snippets/773-logging-to-a-file-with-elixir

但是我想我在这里追逐一只野鹅。我不认为我的问题的解决方案在于添加更多依赖项,而是在于更改:logger应用程序的一些配置。

我只是不知道在哪里,也不知道如何。

我该怎么做?

0 投票
0 回答
224 浏览

elixir - Edeliver Phoenix 发布失败

我正在尝试按照此处说明的步骤使用 edeliver 发布 phoenix 应用程序。我浏览了互联网,发现有些人有同样的问题,但无论我做什么,我都会在下面遇到同样的错误。

  • 我可以使用 SSH 无密码登录
  • 我的用户(部署)拥有所有权利
  • 用户可以通过 ssh 使用 git

错误信息:

这是我的 .deliver/config 文件:

0 投票
1 回答
167 浏览

heroku - Heroku Container multi-stage build failing to find file

I have a docker file with two stages which successfully builds locally. When I attempt to push it to the heroku's container service it fails to build with an error that a file is not available.

Error

Dockerfile

The error occurs at the second mix do compile

What cause this to work locally, but fail on Heroku?

0 投票
0 回答
50 浏览

elixir - 如何在应用程序升级之前运行迁移?

根据Distillery 的文档迁移“应该在应用程序升级之前部署”,到目前为止,我已经进行了简单的升级,没有涉及太多的 GenServer 状态更改或应用迁移,事实上,我已经应用了升级,但我已经必须关闭应用程序并重新启动它们才能使发布任务成功应用迁移。我想知道如何按照文档说的提前应用迁移?

0 投票
0 回答
117 浏览

soap - 生成的 Soap 客户端在 Elixir Distillery Release 中不起作用

我使用以下库从我的 wsdl 文件中生成了一个肥皂客户端。 https://github.com/bet365/soap

在我的开发环境中一切正常 - 我可以成功调用服务。

问题:当我通过 Distillery 构建我的 Elixir 版本时,它似乎根本不起作用。我得到了先前生成的客户端的回复:

我想到了关于 hrl-records(包含文件夹)或生成的客户端(src 文件夹)的路径问题。所有尝试 - 没有运气。此外,我的应用程序是雨伞应用程序(也许有问题..?)

任何帮助表示赞赏!

0 投票
3 回答
312 浏览

deployment - 如何将 elixir 应用程序从 Windows 开发机器部署到 Ubuntu 服务器

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

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

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

0 投票
1 回答
168 浏览

elixir - 如何确保 distillery 在版本中包含 Erlang inets?

我的应用程序在尝试运行发布时遇到了这个致命问题:

在我的本地主机上运行它时效果很好mix,但是 distillery 2 版本有这个问题。

erlang-inets从 erlang 解决方案 repo 安装了 ubuntu 包并做了另一个mix release,但这似乎并没有解决它。

我错过了什么?

0 投票
1 回答
44 浏览

docker - Que 因 Distillery 版本和 Docker 失败

我已经使用 Distillery 设置了一个 Docker 环境来生成我的应用程序的发布。

我的应用程序使用 Que 添加一个工人,像这样

但是,当调用此行时,我得到:

它在没有 docker 和 distillery 的情况下在本地运行良好,但不确定为什么它会在上面失败。

我还尝试按照文档中的描述运行预编译应用程序的命令,但没有成功。

iex(my_app@127.0.0.1)1> Que.Persistence.Mnesia.setup!

0 投票
1 回答
157 浏览

elixir - 酿酒厂失败并显示消息“多重定义模块:'Elixir.Telemetry'”

当我尝试使用 Distillery 升级正在运行的 Phoenix 应用程序时,构建失败并显示以下消息:

我运行这个应用程序几个月,我已经成功升级了好几次。这一次,我想将 Phoenix 的版本从 1.4.0 提升到 1.4.3。

我在 Elixir 论坛上阅读了这篇文章:

https://elixirforum.com/t/distillery-build-error-multiply-defined-module-elixir-collectable-ecto-adapters-sql-stream/19489

我试过mix deps.clean --allmix release.clean. 有什么建议或建议吗?

更新

我注意到一个奇怪的现象。当我在 上执行bin/my_app upgrade 0.10.7RELEASE_ROOT_DIR,我收到此错误消息(注意双引号和它们之间的逗号):