问题标签 [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 回答
569 浏览

elixir - 无法为 edeliver 找到获取任务发布

我有一个包含 3 个伞形项目的长生不老药应用程序。我正在尝试通过 distellary 和 edeliver 自动化他们的发布。

我可以通过运行以下命令来创建版本:

混合发布 --verbose --env="production" --name="se_example"

但是,当我运行以下命令时: mix edeliver build release production --verbose

它编译应用程序,但后来在创建版本时抛出此错误:

-----> 使用 mix 生成 release 生成 release

**(混合)找不到任务“发布”

我是长生不老药和酿酒厂/ edeliver 世界的新手,所以想知道我是否在这个流程中遗漏了一些东西。

以下是我的 .deliver/config 文件:

这是 rel/config.exs 文件:

0 投票
2 回答
903 浏览

migration - 通过从酒厂释放运行 ecto migration

我有一个包含 3 个伞形项目的长生不老药应用程序。我正在通过酿酒厂创建它的二进制文件(发布)。

运行此命令会在_build/prod/rel/se/releases/0.1.0中创建 .tar.gz 文件:

MIX_ENV=prod 混合发布--env=qa

我能够提取并运行该应用程序。为了运行 ecto 迁移,我为发布任务添加了这个模块 [通过遵循https://hexdocs.pm/distillery/running-migrations.html ]:

应用程序使用位于我们需要迁移的伞形项目之一中的代码运行和编译。编译并启动服务器后,当我尝试通过以下方式运行它时:

bin/se_cloud 命令 Elixir.Se.ReleaseTasks 种子

我收到此错误:

Elixir.Se.ReleaseTasks.seed 未定义或具有非零参数

有没有其他人遇到过这个问题?或者我在这里配置错误?

0 投票
0 回答
67 浏览

phoenix-framework - 如何在 Phoenix Framework 中通过 env 添加路由器配置

我正在为 twitter 开发一个电报机器人,源代码在 github https://github.com/chenxsan/telegram-bot-for-twitter上开源。但我想通过隐藏它来保护 webhook,所以我正在从配置中读取 webhook:

prod.secret.exs

但是在使用https://github.com/bitwalker/distillery/构建后,该版本不会WEBHOOK从 env 中读取,所以我只是收到 404 错误。

是否可以在 PhoenixFramework 中做到这一点?如果是,我该怎么做?

0 投票
2 回答
301 浏览

elixir - Phoenix Edeliver 在 npm install 上发布失败

我正在尝试将 Elixir、Phoenix 应用程序发布到带有酿酒厂和 edeliver 的数字海洋服务器。每当我执行以下命令时,我都会收到错误消息。

错误信息

mix.exs

.交付/配置

每当我登录到服务器并 npm install 时,它都可以工作。

包.json

服务器:Ubuntu 16.04.4 Nodejs v6.14.3 Elixir 1.6.5(使用 OTP 19 编译)

本地:macOS High Sierra

我搜索了很多并尝试重新安装 npm 和 nodejs。在 .deliver/config 中更改 cd '$BUILD_AT/assets',无效。我也尝试在 prod.exs 中添加这个

仍然有问题。

0 投票
1 回答
309 浏览

elixir - Distillery 未替换 systemd 版本中的变量

尝试使用 Distillery 在运行时获取系统变量时遇到问题。目前,我已将与数据库的连接定义为:

然后,我正在运行 phx.digest 并混合发布来获取我的 tar 文件。然后,我使用在设置了所有环境变量的 ubuntu 服务器上运行的 systemd 配置部署此 tar 文件。这些是 systemd 服务的重要行:

当我尝试在服务器实例上运行此服务时。它正在尝试连接到 ${DB_HOST}:5432 作为 url,并且没有评估我不想用配置的值替换它。在使用硬编码值之前,我已经成功运行了它,所以我知道问题在于替换值。有人对我如何解决此错误有任何建议吗?我在服务器上设置了所有必要的值,包括再次设置 REPLACE_OS_VARS=true。

任何帮助或指导表示赞赏。

0 投票
1 回答
1609 浏览

elixir - 创建发布版本后无法在 Elixir 中运行发布应用程序

我已经使用命令创建了构建MIX_ENV=prod mix release --env=prod --verbose。它成功创建了构建,我可以运行consoleandping命令并给我pid. 即使我运行 start 命令,它也成功启动,但是当我转到 时htttp://localhost:4000,服务器没有运行。当我运行_build/prod/rel/project/bin/project foreground命令时,它只是挂在那里没有输出。

我正在使用 MacOS 版本:10.13.2,elixir:1.6.5(使用 OTP 19 编译),otp:Erlang/OTP 20。这是日志

我已经包含了所有显示为警告的应用程序,除了jsx因为它显示未定义应用程序的错误。

我还经历了酿酒厂问题https://github.com/bitwalker/distillery/issues/276并且因为这个问题表明我检查了我的应用程序名称并且服务器在配置文件中设置为 true,所以它没有帮助。我还在这里更详细地记录了问题https://github.com/bitwalker/distillery/issues/433

这是我的发布文件配置

当我尝试创建一个新的 phoenix 应用程序并执行相同操作时,它正常运行并侦听端口 4000 并输出前台命令,但在我的应用程序中使用相同的配置,它不侦听 4000 端口并挂起前台命令。当我看到netstat两者时,我的应用程序似乎没有运行 4000 端口,请参阅 在此处输入图像描述

我不知道我应该如何调试这个问题我尝试了所有我能做的事情。如果有人需要更多信息,请告诉我。我将不胜感激这方面的任何帮助/建议。

编辑: 这是我的配置和产品文件。我刚刚粘贴了端点详细信息,让我知道是否还有其他需要。

0 投票
1 回答
362 浏览

elixir - Distillery build 未与 postgresql elixir phoenix 连接

我为我的凤凰项目从构建版本切换exrm到了内部版本。distillery一切正常。当我做

应用程序运行,一切都与数据库连接。但构建版本未与数据库连接。(我认为除了构建其获取 db 的开发值之外,还执行上述命令。)

当我看到/opt/evercam_media/releases/1.0.1/sys.config文件时,它为我提供了正确的数据库值,用于数据库连接

这里有什么问题?它没有与数据库连接,我做错了什么?

0 投票
0 回答
141 浏览

elixir - 当有 2 个过去版本 ditillery elixir phoenix 时,热升级中断

酒厂 2.0 版

灵丹妙药 1.7.1

一次性密码 21.0

首先,进行正常发布并使用混合发布进行部署。它在 prod/rel/app_name/releases/1.0.1-08f6b0c 中创建了一个构建

  • 应用程序工作

现在更改一些内容并再次使用 mix release --upgrade 创建一个版本

它在 prod/rel/app_name/releases/1.0.1-a4011918 中创建了一个新版本

并进行升级

  • 应用程序已升级。

现在再次进行新更改创建升级版本。版本 1.0.1-a6cf7267。

现在尝试升级,它会给出一个错误。

详细的 ansible 日志“找不到 release-evercam_media 的代码路径”,“1.0.1-08f6b0c!”

ansible + 做手册

预期:它应该升级新的发布版本。但失败并找到了第一个发布代码?这是一个问题,有 2 个连续的版本可用,而且应该是最后一个?

我的配置文件很简单

问题是:为什么它在第三个版本时寻找第一个版本文件夹并且它应该从第二个版本升级。我还尝试在升级发布之前先创建应用程序并进行升级,但都没有工作。

0 投票
1 回答
278 浏览

elixir - 启动使用酒厂构建的 Phoenix 项目:进程错误 ~p 退出值:~n~p~n

我正在构建一个生产 docker 映像,但是当我运行它时,我得到:

不是 erlang 人,但这似乎是期望加载 code_server,但我在 dev.exs 和 prod.exs 中禁用了它。这是我的 rel/config.exs:

这是我的 Dockerfile:

我的 prod.exs:

这是我的主要部门:

(这是一个总括项目)。

所以我的问题是:这条消息实际上意味着什么,如何修复它?我可以尝试什么?

0 投票
0 回答
328 浏览

elixir - 应用程序以错误开始且未显示迁移状态

环境

  • 凤凰版:1.3.4
  • 外版本:2.1
  • edeliver版本:edeliver v1.4.5
  • 灵药版本:1.6.3
  • 构建工具和版本(distillery):distillery v2.0.10
  • 操作系统(在构建/部署主机上):Ubuntu 16.04.4 x64
  • 您是否使用伞式项目(是|否):是

当前行为

我正在部署一个具有以下结构的伞式项目:

运行时mix edeliver start production出现错误,但应用程序成功启动:

此外,在尝试获取生产中的迁移状态时出现以下错误mix edeliver show migrations on production

预期行为

我希望应用程序在发生错误时不会启动,并在调用命令时显示迁移状态。