GitHub Actions部署Python应用至Heroku失败:容器发布报错求助
解决Heroku容器发布失败的问题
核心问题分析
你的Heroku应用当前未使用container堆栈,导致Docker容器发布命令不被支持,最终触发"undefined"错误。
分步解决步骤
1. 切换Heroku应用堆栈至container
在本地终端执行以下命令,将应用堆栈设置为容器模式:
heroku stack:set container -a 你的应用名称
执行完成后,Heroku会确认堆栈切换成功,后续部署流程即可适配Docker容器发布逻辑。
2. 检查GitHub Actions部署配置
确保你的GitHub Actions工作流文件中,部署步骤适配容器部署场景。示例配置如下:
- name: Deploy Docker container to Heroku uses: akhileshns/heroku-deploy@v3.12.12 with: heroku_api_key: ${{ secrets.HEROKU_API_KEY }} heroku_app_name: "你的应用名称" heroku_email: "你的Heroku注册邮箱" docker_heroku_process_type: web
如果之前使用的是普通Git推送的部署方式,需替换为上述容器部署相关的Action或命令。
3. 重新触发部署
完成堆栈切换和配置检查后,通过推送代码或手动在GitHub Actions页面重新运行工作流,验证容器发布是否成功。
备选方案:改用heroku-22堆栈部署
若无需使用容器堆栈,可切换至Heroku官方buildpack部署:
- 移除项目中的
Dockerfile(如果存在) - 在本地执行命令切换堆栈:
heroku stack:set heroku-22 -a 你的应用名称
- 调整GitHub Actions配置为Git推送方式:
- name: Deploy to Heroku via Git run: | git remote add heroku https://heroku:${{ secrets.HEROKU_API_KEY }}@git.heroku.com/你的应用名称.git git push heroku main -f
内容的提问来源于stack exchange,提问作者user27012712
相关产品推荐
相关产品推荐

