在bitbucket上使用git部署到Heroku


82

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

我可以使用github客户端和heroku工具栏来做到吗。能行吗 Github很棒,但是我不希望每个人都看到我的代码,并且我不想为私人仓库支付费用,因为这是一个小项目。


1
您如何完全解决您的问题?:)
Matthias

1
它实际上非常容易。只需在位存储桶中创建一个存储库,然后将配置文件中的源更改为该存储库的源,就可以使用bitbucket满足您的需求。
Wasswa Samuel

1
在哪个配置文件中?我的具体问题如下.. stackoverflow.com/questions/18127761/...
马蒂亚斯

Answers:


65

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


5
我应该在哪里更改远程URL?
MaxySpark '16

尽管Heroku文档对此有这样的说法:“ Heroku主要为部署提供git服务,并且提供了从它克隆功能的方便。我们强烈建议您将代码存储在另一个git存储库中,例如GitHub和将其视为规范。” (来源
Fabien Snauwaert

@FabienSnauwaert同意。我绝对不建议将Heroku git用作主要的VCS。我将看看是否可以更新我的答案以澄清这一点。感谢上述报价
Xavier

35

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


15

与Stefan接洽-完美运作。这是我所做的:

  1. 我的WP博客每天重置的方式让我感到非常沮丧,因为没有wp-config.php,因此向所有导航到http://blog.example.com的用户显示了设置屏幕。
  2. 登录到bitbucket.org。
  3. 链接了我的bitbucket和github帐户。
  4. 从github派生了我的“ wp-blog”存储库,该存储库我以前已链接到我的heroku遥控器。
  5. 克隆到这个新分支中(“ git clone https://myname@bitbucket.org/myname/wp-blog_config.git ”)。
  6. 添加了适当的wp-config.php。
  7. 从此新分支中添加了我的heroku遥控器(“ git remote add heroku git@heroku.com:adjective-noun-1234.git”)
  8. 提交并部署到heroku(“ git push heroku master:master”)

14

Bitbucket现在支持Pipelines,这将使其在Heroku上的部署变得非常容易。只需按照以下教程操作即可:https : //confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

bitbucket-pipelines.yml将主分支推送到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 :(
Alan Donizete

nvm,只是一个我没有注意到的错字:( ...哈哈,谢谢
Alan Donizete

此方法有效,但请确保使用而非dashboard.heroku.com/account中的API密钥heroku auth:token
katzmopolitan


2

我发现此页面有帮助

安装Heroku工具带

如果尚未登录,请登录到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

4
那和bitbucket有什么关系?
洛朗·米歇尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.