Может ли Procfile иметь комментарии?
Можно ли оставлять комментарии в Procfile? Если так, какой синтаксис?
Не уверен, что это имеет значение, но я хостинг на Heroku.
3 ответа
Да, вы можете поместить комментарии в Procfile. Я знаю две программы, которые разбирают Procfiles, foreman и forego.
В foreman, который возник в формате Procfile, Procfile может содержать комментарии, пустые строки и фактически любую строку, которая не похожа на значимую строку Procfile.
Из класса, который анализирует Procfile:
# A valid Procfile entry is captured by this regex:
#
# /^([A-Za-z0-9_]+):\s*(.+)$/
#
# All other lines are ignored.
В качестве обновления этого вопроса 2020 года Heroku перешел с использования Forego в Heroku Local на node-foreman (порт исходного мастера). При этом мало что изменилось в отношении того, как Procfiles читаются и записываются мастером с 2017 года. Однако примерно в конце июня 2016 года (после обновления этого вопроса в мае 2016 года), похоже, пользователи обнаружили, что процессы все еще будут запускаться из строк начиная с#
. Следующее будет по-прежнему запускать процесс:
# foo: cd foo && bundle exec rails s -p 3000
С другой стороны, кажется //
предотвращает запуск процесса в этой строке. Предотвращение выполнения следующих действий:
// foo: cd foo && bundle exec rails s -p 3000
Вы можете использовать любой из них для создания комментариев, поскольку, как следует из приведенного выше, строки, начинающиеся с #
не будут прочитаны, если для них не объявлен действительный процесс. С другой стороны, если вы пытаетесь закомментировать строку с объявленным в ней действительным процессом, кажется,//
это используемый стиль комментария.
Кажется, Heroku на самом деле не принимает
//
как комментарии (он ломается), тогда как
#
вроде работает. В любом случае, чтобы протестировать свой Procfile, вы можете использоватьheroku local
команда