7

背景:我有一个项目部署到heroku。heroku 应用程序与 github 连接,因此我可以按 heroku 的 web api 中的“部署”按钮,手动将 github 上的分支部署到 heroku。

我正在尝试做的是构建一个 slack 机器人,它可以让我通过 slack 命令来完成它。理想情况下,heroku 的平台 api上会有一些功能,.deploy('my_app', 'some_branch_on_github)但我似乎找不到。

平台 api 的构建功能是close。该功能允许您提供 Heroku 将部署的 tarball 的公共 URL。但是,我的 github repo 不是公开的,所以这不起作用。不过,私人仓库应该不是问题,因为 heroku 已经连接到我的 github 仓库。

TLDR:我如何以编程方式告诉 Heroku 从它连接的私有 github 部署我的应用程序?

4

2 回答 2

11

我收到了 Heroku 支持团队的回复,问了几乎相同的问题。他们的回答是,我正在尝试做的事情是不可能的,但会在某个时候(尽管在接下来的几个月内不会,无论如何)。

他们建议我可以只使用 heroku 自己的 web 控制台使用的未记录的 web api(到端点的 POST kolkrabbi.heroku.com)。他们确实警告说,作为私有 API,这可能会在没有警告的情况下发生变化。

于 2016-07-20T21:27:31.813 回答
0

截至2020 年 4 月,Heroku 已经在本地集成了 GitHub,而无需求助于任何乱七八糟的无证冰岛端点

配置后,Heroku 可以自动构建和发布(如果构建成功)推送到指定的 GitHub 存储库。

启用 GitHub 集成

您可以在Heroku 仪表板Deploy的应用程序选项卡中配置 GitHub 集成。

启用 GitHub 集成

要配置 GitHub 集成,您必须使用 GitHub 进行身份验证。每个 Heroku 帐户只需执行一次此操作。

您需要 GitHub 存储库管理员访问权限才能配置自动 GitHub 部署。这是因为 Heroku 必须在 GitHub 存储库上注册一个服务挂钩,并且此操作需要管理员访问权限。对于 GitHub 组织,您的 GitHub 帐户还需要是该组织的成员,而不是外部合作者。

 

如果您的存储库位于启用了第三方应用程序限制的 GitHub 组织中,则组织管理员需要批准 Heroku 才能与该组织一起使用。更多详细信息可在 GitHub 上找到

将 Heroku 应用程序链接到 GitHub 存储库后,您可以有选择地从分支部署或配置自动部署。

手动部署

通过手动部署,您可以从连接到您的应用程序的 GitHub 存储库中创建任何分支的即时部署。如果您想控制何时将更改部署到 Heroku,请使用手动部署。

手动部署

您还可以使用手动部署来临时部署除为自动部署配置的分支之外的分支。例如,您可能有一个开发应用程序同步到developmentGitHub 分支,但您暂时想要测试一个功能分支。只需触发功能分支的手动部署,即可在 Heroku 应用程序上对其进行测试。请注意,功能分支的发布将在下一次成功的 GitHub 推送到该development分支时被覆盖。

自动部署

当您为 GitHub 分支启用自动部署时,Heroku 会构建并将所有推送部署到该分支。例如,如果您在 Heroku 上有一个开发应用程序,您可以配置推送到您的 GitHub development分支以自动构建并部署到该应用程序。

自动部署

如果您已将 GitHub 存储库配置为使用自动持续集成(例如使用 Travis CI),则可以选中“在部署前等待 CI 通过”复选框。启用后,Heroku 只会在相关提交 show 的所有提交状态后自动部署 success

此提交不会自动部署,因为其中一项检查显示 pending状态:提交状态失败 - 不会自动部署

此提交将自动部署,因为所有检查都显示以下状态 success成功提交状态 - 将自动部署

审查应用程序

为 Heroku 应用启用审查应用后,Heroku 将为在连接到父应用的 GitHub 存储库上打开的每个拉取请求创建临时测试应用。如果您使用 GitHub Flow来提议、讨论和合并对代码库的更改,那么审查应用程序非常棒。因为拉取请求分支部署到 Heroku 上的新应用程序,所以您和您的协作者可以非常简单地测试和调试代码分支。您还可以在代表 GitHub 分支的 Heroku 应用程序上运行自动化集成测试。

有关详细信息,请参阅查看应用程序文章

Heroku CI

将 GitHub 存储库连接到 Pipeline 后,您可以打开 Heroku CI,这是我们的可视化、低配置测试运行程序,可轻松与 Heroku Pipelines 集成(因此补充了 Review 应用程序、现有 Heroku 应用程序和我们的 GitHub 集成)。任何 Heroku Pipeline 都已准备好 Heroku CI – 只需在 Pipeline 的Settings选项卡中打开它。

链接到差异

对于链接到 GitHub 存储库的应用程序,仪表板 Activity选项卡中的版本将包含“查看差异”链接。点击链接将带您进入 GitHub 比较视图,显示自上次发布以来所做的更改。

差异视图链接

从 GitHub 断开连接

如有必要,终止过时的 GitHub 连接。

断开单个应用程序

可以在应用程序选项卡的 GitHub 窗格中断开单个应用程序的连接 Deploy

用于断开应用程序的 UI 屏幕截图

断开帐户

您可以在仪表板帐户页面的应用程序窗格中断开 Heroku 和 GitHub 帐户。

用于断开帐户的 UI 屏幕截图

于 2021-10-15T06:52:28.803 回答