foreman - jerarquia - jerarquía de archivos
Procfile los procesos de inicio en su propio directorio de trabajo. (3)
Tengo este simple Procfile
web: myapp
myapp está en la ruta, pero el directorio de inicio de procesos debería ser ./directory/. ¿Cómo puedo especificar en el archivo de proceso dónde se debe iniciar el proceso?
https://github.com/ddollar/foreman/pull/101 no ayuda porque asume que este directorio de trabajo debe ser el mismo para cada proceso especificado por Procfile
La cáscara es la respuesta. Es tan simple como
web: sh -c ''cd ./directory/ && exec appname''
Puede encadenar un conjunto de comandos de shell juntos. Con la versión actual de Foreman, no es necesario envolver esto en un comando de shell como en la respuesta de @JohnDoe.
web: cd server_dir && start web_service
clk: cd clock_tower && start timers
Estos iniciarían los procesos necesarios desde sus respectivas carpetas y los rastrearían de forma independiente.
Una respuesta a "¿Cómo puedo especificar en el archivo de proceso donde se debe iniciar el proceso?"
Puede decirle a Foreman dónde está el directorio raíz de la aplicación, lo que significa que no tiene que ser el mismo lugar que el archivo Procfile.
Puede iniciar Foreman con la opción -d
(puede que tenga que usar -f
para el archivo Procfile también).
$ foreman start -d ./directory