截至2020年4月, Heroku已经原生集成了GitHub,无需使用任何不稳定的未记录的冰岛端点。
配置后,Heroku可以自动构建并发布(如果构建成功)到指定的GitHub仓库。
启用GitHub集成
您可以在Heroku控制面板的部署
选项卡中配置GitHub集成。
![Enable GitHub integration Enable GitHub
integration](https://devcenter1.assets.heroku.com/article-images/2349-imported-1443570588-2349-imported-1443555058-421-original.jpg)
要配置GitHub集成,您需要使用GitHub进行身份验证。
您只需在Heroku帐户上执行一次此操作。
为了配置自动GitHub部署,您需要具有GitHub存储库管理员访问权限。
这是因为Heroku需要在GitHub存储库上注册一个服务钩子,而此操作需要管理员访问权限。对于GitHub组织,您的GitHub帐户还需要是该组织的成员,而不是外部协作者。
如果您的存储库位于启用了第三方应用程序限制的GitHub组织中,
则组织管理员需要批准Heroku与该组织一起使用。更多详细信息请参见
GitHub。
在将Heroku应用程序链接到GitHub存储库后,您可以选择性地
从分支部署或配置自动部署。
手动部署
使用手动部署,您可以创建任何分支的即时部署,该分支来自连接到您的应用程序的GitHub存储库。
如果您想要控制何时将更改部署到Heroku,请使用手动部署。
![Manual deploy Manual
deploy](https://devcenter1.assets.heroku.com/article-images/2349-imported-1443570589-2349-imported-1443555058-422-original.jpg)
您还可以使用手动部署来临时部署与自动部署配置不同的分支。例如,您可能有一个开发应用程序与development
GitHub分支同步,但是您暂时想要测试一个功能分支。只需触发功能分支的手动部署即可在Heroku应用程序上进行测试。请注意,在下一次成功的GitHub推送到development
分支时,功能分支的发布将被覆盖。
自动部署
当您为GitHub分支启用自动部署时,Heroku会构建和部署该分支的所有推送。例如,如果您在Heroku上有一个开发应用程序,您可以将推送到GitHub的development
分支配置为自动构建并部署到该应用程序。
![Automatic deploys Automatic
deploys](https://devcenter3.assets.heroku.com/article-images/2349-imported-1443570589-2349-imported-1443555058-423-original.jpg)
如果您已经配置了GitHub存储库以使用自动化的持续集成(例如Travis CI),则可以勾选“等待CI通过后再部署”复选框。启用后,Heroku将仅在相关提交的所有提交状态显示为success
时才会自动部署。
此提交不会自动部署,因为其中一个检查显示pending
状态:![Failed commit status - won't
auto-deploy](https://devcenter3.assets.heroku.com/article-images/1516299367-Screen-Shot-2018-01-18-at-9.35.09-AM.png)
此提交将自动部署,因为所有检查都显示success
状态:![Success commit statuses - will
auto-deploy](https://devcenter0.assets.heroku.com/article-images/1516299538-Screen-Shot-2018-01-18-at-10.12.16-AM.png)
审查应用程序
启用 Heroku 应用程序的审查应用程序后,Heroku 将为与父应用程序连接的 GitHub 存储库上打开的每个拉取请求创建临时测试应用程序。如果您正在使用 GitHub Flow 提出、讨论和合并代码更改,则审查应用程序非常有用。由于拉取请求分支部署到 Heroku 上的新应用程序中,因此您和协作者可以轻松地测试和调试代码分支。您还可以在代表 GitHub 分支的 Heroku 应用程序上运行自动化集成测试。
有关详细信息,请参见审查应用程序文章。
Heroku CI
一旦您将GitHub存储库连接到Pipeline,您可以启用Heroku CI,我们的可视化、低配置测试运行程序,它与Heroku Pipelines轻松集成(因此可以补充Review应用程序、现有的Heroku应用程序和我们的GitHub集成)。任何Heroku Pipeline都已经准备好使用Heroku CI - 只需在Pipeline的设置
选项卡中打开即可。
差异链接
对于链接到GitHub存储库的应用程序,在仪表板的活动
选项卡中发布的版本将包括“查看差异”链接。点击链接将带您进入GitHub比较视图,显示自上次发布以来所做的更改。
![Diff view link Diff view
link](https://devcenter0.assets.heroku.com/article-images/2349-imported-1443570590-2349-imported-1443555059-411-original.jpg)
从GitHub断开连接
必要时终止过时的GitHub连接。
断开单个应用程序的连接
可以在应用程序的部署
选项卡的GitHub窗格中断开单独的应用程序。
![Disconnecting app Screenshot of UI to disconnect
app](https://devcenter3.assets.heroku.com/article-images/2349-imported-1443570591-2349-imported-1443555059-434-original.jpg)
断开账户
您可以在仪表板帐户页面上的第三方应用程序面板中断开您的Heroku和GitHub账户。
![Screenshot of UI to disconnect
accounts](https://devcenter2.assets.heroku.com/article-images/1576871458-Screen-Shot-on-2019-12-20-at-11-50-08.png)