使用bitbucket上的git部署到Heroku

时间:2012-11-05 20:55:05

标签: git heroku github bitbucket heroku-toolbelt

我想使用git在bitbucket上托管我的源码,因为我显然得到了一个免费的私人仓库,我想使用bitbucket的源代码在heroku上托管我的应用程序。

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

6 个答案:

答案 0 :(得分:60)

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

答案 1 :(得分:35)

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

答案 2 :(得分:14)

与Stefan合作 - 这完美无缺。这是我做的:

  1. 对我的WP博客每天重置的方式感到非常沮丧,介绍任何使用设置屏幕导航到http://blog.example.com的人,因为没有wp-config.php。
  2. 登录bitbucket.org。
  3. 链接我的bitbucket& github accounts。
  4. 从github分发我的“wp-blog”回购,我之前已将其链接到我的heroku遥控器。
  5. 克隆到这个新的fork(“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-nov-1234.git”)
  8. 承诺&部署到heroku(“git push heroku master:master”)

答案 3 :(得分:10)

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

答案 4 :(得分:4)

如果您不想在命令行中工作并一直推送到heroku并担心维护SSH密钥(如果您在不同的盒子上工作则非常烦人),请按照本指南了解如何使用代码设置进行持续集成。它是heroku上的免费插件。

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

答案 5 :(得分:2)

我发现此Page有用

安装Heroku Toolbelt

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

$ heroku login

创建一个新的Git存储库

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

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

部署您的应用程序

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

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

现有的Git存储库

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

即可
$ heroku git:remote -a PROJECTNAME