[英]Elixir: Building and deploying an umbrella app with edeliver
我一直在使用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 [...]
*
將RELEASE_DIR
指向傘形應用程序的正確目錄,為我修復此問題。 在build
之后添加apps
文件夾是必需的,因為應用程序已被移動到該文件夾中。我必須ssh進入服務器並在每次構建之前手動清除rel
文件夾。 我很確定這可以通過將其添加到before掛鈎或正確配置GIT_CLEAN_PATHS
來修復/自動化。 我還從主應用程序文件夾啟動傘構建和部署。
RELEASE_DIR="/my-app.com/build/apps/my_app/rel/my_app/"
BUILD_AT="/my-app.com/build"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.