Procfile запускает процессы в их собственном рабочем каталоге
У меня есть этот простой Procfile
web: myapp
Myapp находится в пути, но домашний каталог процессов должен быть ./справочник/. Как я могу указать в файле Procfile, где должен быть запущен процесс?
Https://github.com/ddollar/foreman/pull/101 не помогает, поскольку предполагает, что этот рабочий каталог должен быть одинаковым для каждого процесса, указанного в Procfile
3 ответа:
Вы можете связать набор команд оболочки вместе. С текущей версией мастером, вам не нужно, чтобы обернуть это в командной оболочке, как в ответ @johndoe в это.
web: cd server_dir && start web_service clk: cd clock_tower && start timers
Они запускают необходимые процессы из своих соответствующих папок и отслеживают их независимо.
Ответ на вопрос "Как я могу указать в файле Procfile, где должен быть запущен процесс?"
Вы можете сказать Форману, где находится корневой каталог приложения, что означает, что это не обязательно то же самое место, что и файл Procfile.
Вы можете запустить Foreman с опцией
-d
(возможно, потребуется использовать-f
и для Procfile).$ foreman start -d ./directory