Heroku-相同的代码/存储库从GitHub部署,但不是从Heroku CLI部署(buildpack标识问题)

问题描述 投票:0回答:1

我编写了一个相当简单的Python / Django应用,并希望将其部署到Heroku。

由于从第一天开始就在GIT中跟踪了该项目,所以我的首选策略是使用Heroku CLI进行部署。我已经创建了所有必需的元文件(Procfile,Requirements.txt,Pipfile等)。我还已经将所有必要的库和设置添加到我的settings.py文件中(我们可以放心地假设一切都已正确设置,因为该项目最终已正确部署和工作)。

我已经将Heroku CLI更新为最新版本。它似乎在我所有的“终端”客户端中都能正常运行:PowerShell,GitBash,Termius。

但是,当我尝试执行良好的'ol“ git push heroku master”时,该过程已启动,但是由于无法确定要使用的适当buildpack,因此该过程失败。在Heroku设置中手动指示buildpack时,CLI表示该buildpack不兼容:

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 push heroku master”的工作!

git github heroku heroku-toolbelt heroku-cli
1个回答
0
投票

好,实际上很容易。

[使用CLI部署到Heroku时,Heroku工具带将始终尝试将本地存储库的master分支推送到heroku master存储库。我准备部署的代码在另一个分支中。

为了将master以外的分支推送到Heroku,您需要使用:

git push heroku your_branch_name:master

更多详细信息:https://devcenter.heroku.com/articles/git#deploying-code

自五成!

© www.soinside.com 2019 - 2024. All rights reserved.