Heroku 是一个 SaaS 平台,提供了一部分免费额度,我一般用来跑一些练手的项目,部署起来也简单,代码提交到 GitHub 就会被自动部署。但是前不久 Heroku 禁止了与 GitHub 连接,导致原先的方法没法部署了。

  1. 安装 Heroku CLI

    mac 只需一行代码即可安装

    brew tap heroku/brew && brew install heroku
    

    其他系统可以参照官方文档安装:https://devcenter.heroku.com/articles/heroku-cli

  2. 登录 Heroku

    执行下面命令,然后在弹出的浏览器中登录

    heroku login
    
  3. 在本地仓库添加 Heroku 远程仓库,抓取远程分支

    git remote add heroku https://git.heroku.com/test.git
    git fetch heroku
    
  4. 由于 Heroku 上只有 master/main 分支才会自动部署,所以要在本地需要部署的分支下跟踪远程 master/main 分支,这里以本地 test 分支为例,在 test 分支下输入

    git branch -u heroku/master
    
  5. 推送代码到远程分支,便会自动触发部署,以后部署只需要提交后执行这一行

    git push heroku head:master
    

总结

整体下来就是把代码再往 Heroku 的远程仓库 push 一份,但是由于 Heroku 登录需要依赖 Heroku CLI,没法使用传统的 http / ssh 登录,导致登录只能在本机进行,无法集成到 GitHub Action 里面,只能每次手动部署,不够方便。