我一直在使用edeliver构建和部署一个长生不老的应用程序。我现在已经将应用程序组织到一个伞形项目中,但在配置edeliver来构建该项目时遇到了问题。
我最初的想法是,保护伞中的每个应用程序都需要自己的.deliver/config,而我必须独立地构建和部署保护伞中的每个应用程序,这一点我很酷。当我在其中一个应用程序中运行mix edeliver build release时,它启动了构建过程。但是,它最终会为构建服务器上的每个应用程序创建一个构建。
最终,当它需要找到要下载的tar文件时,它会使该过程失败,并报告Please set RELEASE_VERSION=x。每个应用程序在mix文件中都有自己的发布版本,这是为之前的构建设置发布版本所需的全部内容。
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 [...]
*发布于 2016-04-15 01:03:00
将RELEASE_DIR指向雨伞应用程序的正确目录为我解决了这个问题。需要在build之后添加apps文件夹,因为应用程序已经移动到该文件夹中。每次构建之前,我必须通过ssh进入服务器并手动清除rel文件夹。我非常确定这可以通过将其添加到之前的钩子或正确配置GIT_CLEAN_PATHS来修复/自动化。我还从主应用程序文件夹启动了保护伞构建和部署。
RELEASE_DIR="/my-app.com/build/apps/my_app/rel/my_app/"
BUILD_AT="/my-app.com/build"
https://stackoverflow.com/questions/36414854
复制相似问题