#git #heroku
#git #heroku
Вопрос:
Если у меня есть мой Procfile
и requirements.txt
в той же папке, что и файл, который я запускаю, все работает нормально. Но я «аккуратный урод» и люблю, чтобы все было в организованных папках. Есть ли в любом случае возможность хранить эти два файла в отдельной папке и при этом иметь возможность работать git push heroku master
без ошибок?
Или единственный способ разместить их в корневом каталоге?
Ответ №1:
Невозможно при использовании официального пакета сборки Python.
Сценарий обнаружения проверяет наличие requirements.txt
(или setup.py
или Pipfile
), см. https://github.com/heroku/heroku-buildpack-python/blob/main/bin/detect
Procfile требуется в официальном пакете сборки Python.
Возможно, если вы напишете свой собственный пакет сборки Python.
Вы должны настроить detect
и compile
, чтобы использовать свой requirements.txt
в пользовательском каталоге. Вилка https://github.com/heroku/heroku-buildpack-python/tree/main/bin
Пакет сборки узла не требует a 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
Для вашего пользовательского пакета сборки вам нужно добавить что-то подобное в свой release
скрипт.
Вы можете установить пользовательский пакет сборки здесь: https://i.imgur.com/Kiz8ze3.png
Он появится здесь: https://i.imgur.com/LNHZAKe.png (Shellinabox — это пользовательский пакет сборки)
Подробнее о buildpacks читайте здесь https://devcenter.heroku.com/articles/buildpacks