Heroku-相同的代码/repo从GitHub部署,但不是从Heroku CLI部署(构建包标识问题)



我已经编写了一个相当简单的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-代码

自我五!

相关内容

  • 没有找到相关文章

最新更新