【问题标题】:Elixir: Building and deploying an umbrella app with edeliverElixir:使用 edeliver 构建和部署伞式应用
【发布时间】:2016-07-24 17:09:23
【问题描述】:

我一直在使用 edeliver 构建和部署 elixir 应用程序到生产环境。我现在已经将应用程序组织到一个伞形项目中,并且在配置 edeliver 来构建项目时遇到了困难。

我最初的想法是伞中的每个应用程序都需要自己的.deliver/config,并且我必须独立构建和部署伞中的每个应用程序,这让我很酷。当我在其中一个应用程序中运行 mix edeliver build release 时,它会启动构建过程。但是,它最终会为构建服务器上的每个应用程序创建一个构建。

最终,它在需要找到要下载的 tar 文件时失败,并抱怨 Please set RELEASE_VERSION=x。每个应用程序在混合文件中都有自己的发布版本,这是之前为构建设置发布版本所需的全部内容。

ls: cannot access /data/web/staging.my-app.com/build/rel/my-app/releases/*/: No such file or directory
Failed to detect generated release version at
deploy@192.168.0.1:/data/web/staging.my-app.com/build/rel/my-app/releases/

Please set RELEASE_VERSION=x
Detected several releases:

 FAILED
 2:
 ssh
basename: illegal option -- o
usage: basename string [suffix]
   basename [-a] [-s suffix] string [...]

 ConnectTimeout=3
 deploy@192.168.0.1
 ls
basename: illegal option -- A
usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]

 *

【问题讨论】:

  • 我遇到了同样的问题。你找到解决办法了吗?

标签: deployment elixir phoenix-framework exrm


【解决方案1】:

RELEASE_DIR 指向伞形应用程序的正确目录为我解决了这个问题。在build 之后添加apps 文件夹是必需的,因为应用程序已被移动到该文件夹​​中。我必须在每次构建之前手动进入服务器并清除rel 文件夹。我很确定这可以通过将其添加到 before 挂钩或正确配置 GIT_CLEAN_PATHS 来修复/自动化。我还从主应用程序文件夹启动伞式构建和部署。

RELEASE_DIR="/my-app.com/build/apps/my_app/rel/my_app/"

BUILD_AT="/my-app.com/build"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多