首页 > 解决方案 > 无论如何,能够在单独的文件夹中使用 Procfile 和 requirments.txt 推送到 heroku master

问题描述

如果我有我的Procfilerequirements.txt我正在运行的文件在同一个文件夹中,一切正常。但我是一个“整洁的怪物”,喜欢把所有东西都放在有组织的文件夹中。无论如何将这两个文件放在一个单独的文件夹中并且仍然能够git push heroku master无错误地运行?
还是将它们放在根目录中是唯一的方法?

标签: githeroku

解决方案


如果使用官方 Python buildpack,则不可能。

检测脚本检查是否存在requirements.txt(或setup.pyPipfile),请参阅https://github.com/heroku/heroku-buildpack-python/blob/main/bin/detect

官方 Python buildpack 中需要 Procfile。


如果您编写自己的 Python buildpack,则可能。

您必须调整detectand才能在自定义目录compile中使用您的。requirements.txt分叉https://github.com/heroku/heroku-buildpack-python/tree/main/bin

节点 buildpack 不需要Procfile. 它npm start默认执行是因为:https ://github.com/heroku/heroku-buildpack-nodejs/blob/main/bin/release

#!/usr/bin/env bash
# bin/release <build-dir>

cat << EOF
addons: []
default_process_types:
  web: npm start
EOF

对于您的自定义 buildpack,您需要在release脚本中添加类似的内容。

您可以在此处设置自定义构建包: https ://i.imgur.com/Kiz8ze3.png 它将显示在此处:https ://i.imgur.com/LNHZAKe.png(Shellinabox 是自定义构建包)

在此处阅读有关构建包的更多信息https://devcenter.heroku.com/articles/buildpacks


推荐阅读