git - 无论如何,能够在单独的文件夹中使用 Procfile 和 requirments.txt 推送到 heroku master
问题描述
如果我有我的Procfile
和requirements.txt
我正在运行的文件在同一个文件夹中,一切正常。但我是一个“整洁的怪物”,喜欢把所有东西都放在有组织的文件夹中。无论如何将这两个文件放在一个单独的文件夹中并且仍然能够git push heroku master
无错误地运行?
还是将它们放在根目录中是唯一的方法?
解决方案
如果使用官方 Python buildpack,则不可能。
检测脚本检查是否存在requirements.txt
(或setup.py
或Pipfile
),请参阅https://github.com/heroku/heroku-buildpack-python/blob/main/bin/detect
官方 Python buildpack 中需要 Procfile。
如果您编写自己的 Python buildpack,则可能。
您必须调整detect
and才能在自定义目录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
推荐阅读
- git - 在 GitHub 上创建拉取请求的正确方法是什么?
- javascript - Javascript/jQuery:如何从另一个类获取数据值
- java - Switching JPanels causing keyListener to fail
- google-cloud-platform - Unnecessary requests coming on google cloud end points
- c++ - GDI Drawing to external windows (C++)
- sql - SQL: How to get recent record
- php - How to get values that only exists in all arrays
- php - How to grab the keys and value from an array in an array with php
- c++ - C++ 使用派生类方法更改基类数据成员
- c - Forcing dev-c++ to use c instead of c++