在 bitbucket 上使用 git 部署到 Heroku

Posted

技术标签:

【中文标题】在 bitbucket 上使用 git 部署到 Heroku【英文标题】:Deploying to Heroku using git on bitbucket 【发布时间】:2012-10-25 18:26:06 【问题描述】:

我想使用 git 在 bitbucket 上托管我的源代码,因为我显然获得了一个免费的私人 repo,并且我想使用来自 bitbucket 的源代码在 heroku 上托管我的应用程序。

我可以使用 github 客户端和 heroku 工具带吗?它会起作用吗? Github 很棒,但我不希望每个人都看到我的代码,而且我不想为私人仓库付费,因为它是一个小项目。

【问题讨论】:

您是如何准确解决问题的? :) 其实很简单。只需在 bitbucket 中创建一个 repo 并将配置文件中的源更改为 repo 的源,您就可以使用 bitbucket 来满足您的需求。 在哪个配置文件中?我的具体问题如下..***.com/questions/18127761/… 【参考方案1】:

无论您在何处托管代码,部署到 Heroku 都应该可以工作,因为 Heroku CLI 为了部署而添加了自己的 git 远程。事实上,您甚至可以从 Heroku 获得git pull,因此您可以在技术上将 Heroku 用作私有 git 存储库(尽管不推荐)。至于使用 GitHub 客户端连接 bitbucket,只需在客户端的设置选项卡中将存储库远程更改为 bitbucket 提供的 URL。

【讨论】:

我应该在哪里更改远程 url? 虽然 Heroku 文档对此事有这样的说法:“Heroku 提供 git 服务主要用于部署,并且提供从中克隆的能力是为了方便。我们强烈建议您存储您的代码在另一个 git 存储库(例如 GitHub)中,并将其视为规范。” (source) @FabienSnauwaert 同意。我绝对不推荐使用 Heroku git 作为主要的 VCS。我会看看我是否可以更新我的答案来澄清这一点。感谢以上报价【参考方案2】:

只是为了补充 zeiv 的回答,谁说它应该有效:我可以确认它确实有效。我们使用 bitbucket 进行 git 托管并部署到 heroku。您似乎无法将您的 bitbucket 存储库添加到您的 heroku 帐户以显示提交历史记录,此功能目前似乎仅限于 github(heroku 的错 ;-)

【讨论】:

【参考方案3】:

与 Stefan 交流 - 这非常有效。这是我所做的:

    对我的 WP 博客每天重置的方式感到非常沮丧,因为没有 wp-config.php,所以任何导航到 http://blog.example.com 的人都会看到设置屏幕。 已登录 bitbucket.org。 已关联我的 bitbucket 和 github 帐户。 从 github 分叉了我的“wp-blog”存储库,我之前已将其链接到我的 heroku 远程。 克隆到这个新的分叉中(“git clone https://myname@bitbucket.org/myname/wp-blog_config.git”)。 添加了适当的 wp-config.php。 在这个新的 fork 中添加了我的 heroku 远程(“git remote add heroku git@heroku.com:adjective-noun-1234.git”) 已提交并部署到 heroku(“git push heroku master:master”)

【讨论】:

【参考方案4】:

如果您不想在命令行中工作并一直推送到 heroku 并担心维护 SSH 密钥(如果您在不同的机器上工作,这很烦人),那么请按照本指南了解如何使用 codeship 设置持续集成。它是 heroku 上的免费插件。

http://blog.codeship.io/2014/04/29/continuous-deployment-heroku-bitbucket-nodejs.html

【讨论】:

【参考方案5】:

我发现这个Page 很有帮助

安装Heroku Toolbelt

如果您还没有,请登录您的 Heroku 帐户并按照提示创建新的 SSH 公钥。

$ heroku login

创建一个新的 Git 存储库

在新目录或现有目录中初始化 git 存储库

$ cd my-project/
$ git init
$ heroku git:remote -a PROJECTNAME

部署您的应用程序

将您的代码提交到存储库并使用 Git 将其部署到 Heroku。

$ git add .
$ git commit -am "make it better"
$ git push heroku master

现有的 Git 存储库

对于现有的存储库,只需添加 heroku 远程

$ heroku git:remote -a PROJECTNAME

【讨论】:

这与 bitbucket 有什么关系?【参考方案6】:

Bitbucket 现在支持Pipelines,这应该可以很容易地部署在 Heroku 上。只需按照本教程进行操作:https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

我的bitbucket-pipelines.yml 只是将 master 分支推送到 Heroku,如下所示:

image: node:6
clone:
  depth: full
pipelines:
  branches:
    master:
      - step:
          script:
            - git push -f https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH

【讨论】:

你实现它的工作了吗?我仍然无法推送到heroku :( nvm,只是一个我没有注意到的错字:( ...哈哈,谢谢 这可行,但请确保使用来自 dashboard.heroku.com/account 的 API 密钥,而不是来自 heroku auth:token 的 API 密钥

以上是关于在 bitbucket 上使用 git 部署到 Heroku的主要内容,如果未能解决你的问题,请参考以下文章

使用 BitBucket Pipelines 通过 SSH 访问部署到 VPS

怎么删除git本地分支以及Bitbucket的远程分支?

无法推送到 Bitbucket 上的 Git 存储库

无法推送到 Bitbucket 上的 Git 存储库

Bitbucket - 用git 用法

git使用笔记 bitbucket基本操作