首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何避免交付部署错误:"vm.args:没有这样的文件或目录“?

如何避免交付部署错误:"vm.args:没有这样的文件或目录“?
EN

Stack Overflow用户
提问于 2017-08-03 08:35:08
回答 1查看 616关注 0票数 12

上下文

我们正在尝试使用edeliver将菲尼克斯网络应用程序的“热升级”部署到远程虚拟机实例。

我们的目标是建立一个“升级”版本的应用每次,以便应用程序可以“热”升级在生产中,而不需要任何停机时间。

我们成功地在"Hello“菲尼克斯应用程序:涡流剂上完成了这个”热升级“,当构建通过时,它会自动从特拉维斯-CI部署。请参阅:编辑/构建/259965752#L 1752

因此,从理论上讲,这种技术应该适用于我们的“真实”应用程序。

尝试使用Deploy部署一个“真正”的凤凰应用程序

运行以下命令(以构建升级):

代码语言:javascript
运行
复制
mix edeliver build upgrade --auto-version=git-revision --from=$(git rev-parse HEAD~) --to=$(git rev-parse HEAD) --verbose

即“将以前的git版本升级到当前版本”。

到现在为止还好。“发布成功!”

错误:vm.args: No such file or directory

当我们试图部署升级时:

代码语言:javascript
运行
复制
mix edeliver deploy upgrade to production --version=1.0.3+86d55eb --verbose

代码语言:javascript
运行
复制
cat: /home/hladmin/healthlocker/releases/1.0.3+86d55eb/vm.args: No such file or directory

注意:我们有一个bash脚本,它读取.deliver/releases中最新的升级版本,并部署如下:version.sh

问题:

是否有一种方法可以忽略vm.args文件的缺失并继续部署?

如果需要文件来完成部署,那么是否有关于如何创建该文件的文档?

注:我们已经阅读了酿酒厂的“运行时配置”文档:https://github.com/bitwalker/distillery/blob/master/docs/Runtime%20Configuration.md,很遗憾,我们没有任何智慧.

其他信息

环境

这个问题也被问到:https://github.com/edeliver/edeliver/issues/234

EN

回答 1

Stack Overflow用户

发布于 2018-01-10 23:20:48

正如其他人所提到的,vm.args文件是BEAM运行发行版所必需的。默认文件由酿酒厂在发布构建过程中创建,并应位于releases//vm.args中。从您的日志输出来看,似乎正在检查预期的目录。

  • 你能给我们看一下/home/hladmin/healthlocker/releases/的内容吗?
  • 您能确认在构建发行版并提取它时(在升级过程之外)正在创建默认的vm.args文件吗?

你还问:

或者,如果需要该文件来完成部署,是否有关于如何创建该文件的文档?

如果诊断默认vm.args文件的问题不能使您有任何进展,您也可以编写自己的文件并配置酿酒厂来使用该文件而不是默认文件。这方面的详细信息在酒厂配置文档中。简而言之,将vm_args设置添加到您的酿酒厂配置中,它应该位于rel/config.exs(相对于项目根),例如:

代码语言:javascript
运行
复制
environment :prod do
  set vm_args: "<path>/vm.args"
  [...]
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45478961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档