deployment - Cómo evitar el error de despliegue de Edeliver: "vm.args: ¿No hay tal archivo o directorio"?
elixir phoenix-framework (0)
Contexto
Estamos tratando de usar edeliver
para implementar una "Actualización en caliente" de una aplicación web de Phoenix a una instancia remota de máquina virtual.
Nuestro objetivo es crear una versión de "actualización" de la aplicación cada vez para que la aplicación pueda actualizarse "en caliente" sin interrupciones.
Hemos logrado hacer esta "actualización caliente" en una aplicación phoenix "Hello World": https://github.com/nelsonic/hello_world_edeliver que se implementa automáticamente desde Travis-CI cuando se supera la compilación. ver: https://travis-ci.org/nelsonic/hello_world_edeliver/builds/259965752#L1752
Entonces, en teoría, esta técnica debería funcionar para nuestra aplicación "real".
Intentando implementar una aplicación Phoenix "real" usando Edeliver
Se ejecutó el siguiente comando ( para construir la actualización ):
mix edeliver build upgrade --auto-version=git-revision --from=$(git rev-parse HEAD~) --to=$(git rev-parse HEAD) --verbose
es decir, "compilar la actualización de la revisión de git anterior a la actual"
Hasta aquí todo bien. "¡ Lanzamiento lanzado con éxito! "
Error: vm.args: No such file or directory
Cuando intentamos implementar la actualización:
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
Nota: tenemos un pequeño script bash que lee la última versión de actualización disponible en
.deliver/releases
y deploys que ver:version.sh
Pregunta:
¿Hay alguna forma de ignorar la ausencia del archivo vm.args
y continuar la implementación?
O si el archivo es necesario para completar la implementación, ¿hay alguna documentación sobre cómo crear el archivo?
Nota: hemos leído los documentos de la "Configuración del tiempo de ejecución" de la destilería: https://github.com/bitwalker/distillery/blob/master/docs/Runtime%20Configuration.md y lamentablemente ninguno-el-sabio ...
Información adicional
Ambiente
- Localhost: Mac ejecutando Elixir 1.4.2
- Build Host: Ubuntu 16.04.2 LTS con Elixir 1.4.5
- archivo
mix.exs
: https://github.com/healthlocker/healthlocker/blob/continuous-delivery/mix.exs - Versión
edeliver
:1.4.4
- Herramienta de compilación: versión de
distillery
:1.4.0
- Proyecto paraguas: sí.
Esta pregunta también se hizo en: https://github.com/edeliver/edeliver/issues/234