使用 heroku CLI 部署 GitHub 分支

Posted

技术标签:

【中文标题】使用 heroku CLI 部署 GitHub 分支【英文标题】:Deploy a GitHub branch using heroku CLI 【发布时间】:2018-08-27 04:13:42 【问题描述】:

我想做这个动作:

使用 Heroku CLI。

如果我的电脑上有远程 git,我可以git push my-heroku-remote master

但由于我的 heroku 应用程序已经连接到 git 项目,我发现这种方法是多余的。

有什么想法吗?

【问题讨论】:

【参考方案1】:

我更喜欢 GitHub 自动部署而不是 git push heroku master,因为它与 GitHub 流(将请求拉到主控)配合得很好。但是,如果您希望从您的开发机器手动部署到 Heroku,您可以获取和推送:

git fetch origin master:master
git push heroku master:master

(假设 GitHub 远程命名为 origin,Heroku 远程命名为 heroku。)

【讨论】:

谢谢,但这只能解决部分问题——我运行它的机器应该知道 git 项目——而 Heroku 已经知道了。所以是双重配置 @YardenST 你能提供更多细节吗?我不清楚你在寻找/试图避免什么。 是的。我们需要假设 Heroku 项目可以访问 git 项目。因此理论上 - 我应该只能运行 heroku ... 命令,该命令将从主分支构建应用程序。但是,在您的示例中-您正在使用 git 命令,我希望这对于我的解释来说可能是多余的。因为我想要一个无法直接访问 git 项目的构建过程。 好的,我想我明白了。您需要手动部署 GitHub 分支按钮的 Heroku CLI 等效项。但是您不想要自动分支部署。对吗? 是的,比如heroku deploy:master -a myapp【参考方案2】:

取自here:

这可以通过builds-create Platform API 端点来完成。

有一个Builds CLI plugin 让这更容易:

heroku builds:create --source-url https://user:token@api.github.com/repos/<username>/<repo name>/tarball/master/ --app <app-name>

其中 user 是您的 Github 用户名,token 是 Github 个人访问令牌 (reference)

【讨论】:

以上是关于使用 heroku CLI 部署 GitHub 分支的主要内容,如果未能解决你的问题,请参考以下文章

如何更新使用 GitHub“部署到 Heroku”按钮创建的 Heroku 应用程序?

如何解决 vue-cli-service: 在heroku 上找不到问题?

如何使用 heroku CLI 连接到选定的应用程序

如何使用 Hubot 将 Github 存储库部署到 Heroku?

Heroku使用Github部署方法使用GitHub令牌

我可以从 Heroku 下载使用 github 部署的源代码吗?