在 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的主要内容,如果未能解决你的问题,请参考以下文章