24

我有这个简单的 Procfile

web: myapp

myapp 在路径中,但进程主目录应该是 ./directory/。如何在 Procfile 中指定要启动该过程的位置?

https://github.com/ddollar/foreman/pull/101没有帮助,因为它假定该工作目录对于 Procfile 指定的每个进程都应该相同

4

3 回答 3

54

壳就是答案。这很简单

web: sh -c 'cd ./directory/ && exec appname'
于 2012-12-09T19:07:44.533 回答
14

您可以将一组 shell 命令链接在一起。使用当前版本的 Foreman,您不需要像 @JohnDoe 的回答那样将其包装在 shell 命令中。

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

这些将从各自的文件夹启动必要的过程并独立跟踪它们。

于 2017-06-06T12:18:58.490 回答
2

“如何在 Procfile 中指定要在哪里启动进程?”的答案。

您可以告诉 Foreman 应用程序根目录的位置,这意味着它不必与 Procfile 位于同一位置。

您可以使用选项启动 Foreman -d(可能也需要使用-fProcfile)。

  $ foreman start -d ./directory

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

于 2015-01-19T17:50:19.297 回答