Heroku - тот же код / ​​репо развертывается из GitHub, но не из Heroku CLI (проблема идентификации buildpack) - PullRequest
0 голосов
/ 04 мая 2020

Я написал довольно простое приложение на Python / Django и хотел развернуть его в Heroku.

Поскольку проект отслеживался в GIT с первого дня, моя go -стратегия было использовать Heroku CLI для его развертывания. Я создал все необходимые мета-файлы (Procfile, needs.txt, Pipfile et c). Я также добавил все необходимые библиотеки и настройки в мой файл settings.py (мы можем с уверенностью предположить, что все настроено правильно, так как проект был развернут и правильно работал в конце).

Я обновил Heroku CLI для новейшей версии. Кажется, он работает корректно во всех моих «терминальных» клиентах: PowerShell, GitBash, Termius.

И все же, когда я пытаюсь выполнить «ол» git pu sh heroku master "процесс инициирован, однако он терпит неудачу, так как не может определить соответствующий сборочный пакет для использования. После указания пакета сборки вручную в настройках Heroku интерфейс командной строки сказал, что пакет сборки не совместим:

PS C:\Users\mkokot\Dev\project-master> git push heroku master
Enumerating objects: 29, done.
Counting objects: 100% (29/29), done.
Delta compression using up to 8 threads
Compressing objects: 100% (25/25), done.
Writing objects: 100% (29/29), 917.94 KiB | 114.74 MiB/s, done.
Total 29 (delta 12), reused 6 (delta 2)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to myherokuapp.
remote:
To https://git.heroku.com/ciaplist.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myherokuapp.git'

Примечание. В приведенном выше примере я изменил имена / URL-адреса проектов, я не пытался применить пример настройки для этой операции:)

Возвращаясь к вопросу «откуда вы все правильно настроили»: как только я изменил свою стратегию на развертывание из GitHub, все работает как прелесть , и buildpack идентифицирован и выполнен правильно. Однако я нахожу этот способ развертывания обременительным.

Вопрос: Знаете ли вы, почему тот же код может быть принят от GitHub, но отклонен от Heroku CLI? Где искать ошибки / настройки для изменения? Мне бы очень хотелось увидеть работу "git pu sh heroku master"!

1 Ответ

0 голосов
/ 04 мая 2020

Хорошо, так что на самом деле это было просто.

При развертывании в Heroku с помощью интерфейса командной строки инструментальный пояс Heroku всегда будет пытаться вытянуть sh ветку master вашего локального репозитория в репозиторий heroku master. Код, который я подготовил для развертывания, находился в другой ветке.

Для того, чтобы ветка pu sh отличалась от master до Heroku, вам необходимо использовать:

git push heroku your_branch_name:master

Подробнее: https://devcenter.heroku.com/articles/git#deploying -код

Self-Five!

...