上下文
我们正在尝试使用edeliver将菲尼克斯网络应用程序的“热升级”部署到远程虚拟机实例。
我们的目标是建立一个“升级”版本的应用每次,以便应用程序可以“热”升级在生产中,而不需要任何停机时间。
我们成功地在"Hello“菲尼克斯应用程序:涡流剂上完成了这个”热升级“,当构建通过时,它会自动从特拉维斯-CI部署。请参阅:编辑/构建/259965752#L 1752
因此,从理论上讲,这种技术应该适用于我们的“真实”应用程序。
尝试使用Deploy部署一个“真正”的凤凰应用程序
运行以下命令(以构建升级):
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
当我们试图部署升级时:
mix edeliver deploy upgrade to production --version=1.0.3+86d55eb --verbose

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,很遗憾,我们没有任何智慧.
其他信息
环境
mix.exs文件:https://github.com/healthlocker/healthlocker/blob/continuous-delivery/mix.exsedeliver版本:1.4.4distillery版本:1.4.0发布于 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(相对于项目根),例如:
environment :prod do
set vm_args: "<path>/vm.args"
[...]
endhttps://stackoverflow.com/questions/45478961
复制相似问题