Процессы запуска Procfile в своем рабочем каталоге - программирование
Подтвердить что ты не робот

Процессы запуска Procfile в своем рабочем каталоге

У меня есть этот простой Procfile

web: myapp

myapp находится в пути, но домашний каталог процессов должен быть. /directory/. Как я могу указать в Procfile, где процесс должен быть запущен?

https://github.com/ddollar/foreman/pull/101 не помогает, поскольку предполагает, что этот рабочий каталог должен быть одинаковым для каждого процесса, указанного в Procfile

4b9b3361

Ответ 1

Оболочка - это ответ. Это так же просто, как

web: sh -c 'cd ./directory/ && exec appname'

Ответ 2

Ответ на вопрос "Как я могу указать в файле Procfile, где процесс должен быть запущен?"

Вы можете указать Foreman, где корневой каталог приложения означает, что это не должно быть тем же самым местом, что и файл Procfile.

Вы можете запустить Foreman с опцией -d (возможно, также нужно использовать -f в Procfile).

  $ foreman start -d ./directory

http://ddollar.github.io/foreman/

Ответ 3

Вы можете связать набор команд оболочки вместе. В текущей версии Foreman вам не нужно обертывать это в командной строке, как в ответе @JohnDoe.

web: cd server_dir && start web_service
clk: cd clock_tower && start timers

Они будут запускать необходимые процессы из своих соответствующих папок и отслеживать их независимо.