Может ли 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.

Forego, который использует Heroku, следует той же схеме.

В качестве обновления этого вопроса 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 команда

Другие вопросы по тегам