GitHub关联失效时从GitHub部署应用到Heroku的其他方法
Heroku无法直连GitHub时的简便部署方法
目前Heroku和GitHub的直接集成因为安全问题下线后,下面3种都是实际使用门槛低、不需要额外付费服务的方案,按需选择即可:
- Heroku CLI 本地Git部署(最推荐新手使用,零额外配置)
这是最稳定、和原有部署逻辑最接近的方案,全程只需要多2步常规Git操作:
- 先在本地安装Heroku命令行工具,安装完成后在终端执行
heroku login,按提示登录自己的Heroku账号 - 把托管在GitHub上的项目代码克隆到本地:
git clone 你的GitHub仓库地址,进入项目根目录 - 执行
heroku git:remote -a 你在Heroku上创建的应用名,把本地仓库和Heroku的远程仓库关联起来 - 后续每次GitHub上的代码有更新,先在本地项目目录执行
git pull拉取最新代码,再执行git push heroku main(如果你的主分支是master就替换成master),等待推送完成就会自动完成部署,和之前直连集成的部署效果完全一致。
- GitHub Actions 自动部署(完全替代原有自动推送部署的体验)
如果你想恢复之前「推代码到GitHub就自动部署到Heroku」的效果,不需要手动操作,用GitHub自带的Actions功能就能实现:
- 登录Heroku账号,在账户设置页面找到自己的API Key,复制保存
- 打开GitHub上对应项目的仓库设置页,找到Secrets配置项,新增3个仓库密钥:
HEROKU_API_KEY填刚才复制的Heroku API Key,HEROKU_APP_NAME填你的Heroku应用名,HEROKU_EMAIL填你登录Heroku的邮箱 - 在项目里新建
.github/workflows/heroku-deploy.yml配置文件,写好对应自动部署的工作流规则,提交推送到GitHub之后,后续只要你往指定分支推送代码,GitHub会自动把代码同步推送到Heroku完成部署,全程不需要手动干预。
- 压缩包手动部署(适合临时单次部署场景)
如果只是临时部署一次、不想在本地装额外工具或者配置自动流程,可以直接在GitHub网页端下载对应分支的代码压缩包,解压后在解压目录初始化Git仓库,关联Heroku远程仓库后执行推送即可,缺点是每次更新都要重新下载压缩包操作,不适合频繁迭代的项目。
注意:不管用哪种方法部署,都要提前确认项目根目录有符合Heroku要求的Procfile、对应语言的依赖声明文件(比如Python项目的requirements.txt、Node项目的package.json),否则会出现部署失败的问题。
内容的提问来源于stack exchange,提问作者user18838720
相关产品推荐
相关产品推荐

