Procfile 可以有评论吗?

Can a Procfile have comments?

是否可以在 Procfile 中添加注释?如果是这样,语法是什么?

不确定这是否重要,但我在 Heroku 上托管。

是的,您可以在 Procfile 中添加注释。我知道有两个程序可以解析 Procfiles,foreman and forego.

在起源于 Procfile 格式的工头中,Procfile 可以包含注释、空行,实际上任何看起来不像有意义的 Procfile 行的行。

来自the class that parses a Procfile

# A valid Procfile entry is captured by this regex:
#
#   /^([A-Za-z0-9_]+):\s*(.+)$/
#
# All other lines are ignored.

放弃,which Heroku uses, follows the same scheme

作为此问题的 2020 年更新,Heroku 已从在 Heroku Local 中使用 Forego 切换到 node-foreman(原始工头的端口)。话虽这么说,自 2017 年以来,工头读取和写入 Procfiles 的方式并没有太大变化。但是,在 2016 年 6 月末左右(在 2016 年 5 月更新此问题之后),用户似乎发现流程仍将从线路启动从 # 开始。下面还是会启动一个进程:

# foo: cd foo && bundle exec rails s -p 3000

另一方面,似乎 // 确实阻止了进程在该行上启动。阻止 运行 中的以下内容:

// foo: cd foo && bundle exec rails s -p 3000

您可以使用其中任何一个来创建注释,因为如上所示,以 # 开头的行将不会被读取,除非它们声明了有效的进程。另一方面,如果您试图注释掉声明了有效进程的行,似乎 // 是要使用的注释样式。

Heroku 似乎实际上不接受 // 作为注释(它中断了),而 # 似乎有效。 无论如何,要测试您的 Procfile,您可以使用 heroku local command