我已经编写了一个相当简单的Python/Django应用程序,并希望将其部署到Heroku。
由于该项目从第一天起就在GIT中跟踪,我的策略是使用Heroku CLI进行部署。我已经创建了所有必要的元文件(Procfile、requirements.txt、Pipfile等(。我还将所有必要的库和设置添加到了我的settings.py文件中(我们可以放心地假设一切都设置正确,因为项目最终部署并正常工作(。
我已将Heroku CLI更新到最新版本。它似乎在我所有的"终端"客户端中都能正常工作:PowerShell、GitBash、Termius。
然而,当我尝试执行好的"ol"git-push-heroku master"时,该过程被启动,但它失败了,因为它无法确定要使用的适当构建包。在Heroku设置中手动指示构建包后,CLI表示构建包不兼容:
PS C:UsersmkokotDevproject-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部署,一切都像一个魅力,构建包就会被正确识别和执行。然而,我发现这种部署方式很麻烦。
问题:你知道为什么GitHub可以接受相同的代码,但Heroku CLI拒绝了吗?在哪里查找要修改的错误/设置?我很想看到"gitpushheroku大师"的工作!
好的,所以它实际上很容易。
使用CLI部署到Heroku时,Heroku工具带将始终尝试将本地存储库的master
分支推送到heroku master
存储库。我准备部署的代码在另一个分支中。
为了将master
以外的分支推送到Heroku,您需要使用:
git push heroku your_branch_name:master
更多详细信息:https://devcenter.heroku.com/articles/git#deploying-代码
自我五!