Procfile启动进程在自己的工作目录中

时间:2012-11-08 07:19:09

标签: foreman procfile

我有这个简单的Procfile

web: myapp

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

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

3 个答案:

答案 0 :(得分:38)

shell就是答案。它就像

一样简单
web: sh -c 'cd ./directory/ && exec appname'

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:2)

回答“如何在Procfile中指定要启动进程的位置?”

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

您可以使用-d选项启动Foreman(可能还需要使用-f到Procfile。)

  $ foreman start -d ./directory

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