В любом случае, чтобы иметь возможность перейти к heroku master с помощью Procfile и requirments.txt в отдельной папке

#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