我想使用git在bitbucket上托管我的源代码,因为我显然得到了一个免费的私有仓库,我想使用bitbucket的源代码在heroku上托管我的应用程序。我可以使用Github客户端和Heroku工具带来做吗?会有用吗?Github是伟大的,但我不希望每个人都看到我的代码,我不想支付私人回购,因为它是一个小项目。
z8dt9xmd1#
无论您将代码托管在何处,部署到Heroku都应该有效,因为Heroku CLI会添加自己的git remote以进行部署。事实上,你甚至可以从Heroku中获取git pull,所以从技术上讲,你可以使用Heroku作为私有git仓库(尽管不推荐)。至于使用GitHub客户端连接bitbucket,只需在客户端的设置选项卡中将仓库远程更改为bitbucket提供的URL。
git pull
twh00eeo2#
只想补充zeiv的回答谁说它应该起作用:我可以证实它是。我们使用bitbucket作为git托管并部署到heroku。你似乎不能做的是将你的bitbucket仓库添加到你的heroku帐户以显示提交历史,这个功能目前似乎仅限于github(heroku的错;- )
ebdffaop3#
Bitbucket现在支持Pipelines,这应该很容易在Heroku上部署。只需遵循此教程:https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html我的bitbucket-pipelines.yml只是将master分支推送到Heroku看起来像这样:
bitbucket-pipelines.yml
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
ni65a41a4#
和斯特凡一起唱-这很好用。我是这么做的1.我对WP博客每天重置的方式感到非常沮丧,向任何导航到http://blog.example.com的人提供设置屏幕,因为没有wp-config.php。1.登录到bitbucket. org。1.链接了我的Bitbucket和Github账户。1.从github上分叉了我的“wp-blog”repo,我之前把它链接到了heroku remote上。1.克隆到这个新分支(“git clone https://myname@bitbucket.org/myname/wp-blog_config.git“)。1.添加了适当的wp-config.php。1.在这个新分支中添加了我的heroku remote(“git remote add heroku git@heroku.com:adjective-noun-1234.git”)1.提交并部署到heroku(“git push heroku master:master”)
mkh04yzy5#
如果你不想一直在命令行工作,并一直推到heroku,担心维护SSH密钥(如果你在不同的盒子上工作,这会很烦人),那么请遵循以下指南,了解如何使用codeship设置持续集成。它是Heroku上的一个免费插件。http://blog.codeship.io/2014/04/29/continuous-deployment-heroku-bitbucket-nodejs.html
af7jpaap6#
我发现这个Page很有用安装Heroku Toolbelt如果您还没有创建新的SSH公钥,请登录到您的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
guicsvcw7#
您可以将Bitbucket与Heroku集成并自动化部署。我创建了this project in github来展示将bitbucket存储库部署到Heroku所需的最小设置。
1.假设你已经从Bitbucket仓库 checkout 了一个分支,你只需要推送一个更改,这将触发Bitbucket上的管道。
1.创建应用程序1.创建一个API密钥供Bitbucket调用Heroku的API1.设置Heroku构建应用程序必须使用的buildpack:Go to your application root page in Heroku -> Settings -> Buildpacks -> Add Buildpack -> 'buildback_for_your_application'
Go to your application root page in Heroku -> Settings -> Buildpacks -> Add Buildpack -> 'buildback_for_your_application'
1.您需要在存储库配置中启用管道执行:Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Enable Pipelines'
Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Enable Pipelines'
Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Repository Variables',然后设置:
Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Repository Variables'
在应用程序的根文件夹中设置以下文件| 文件|使用者|说明|| --------------|--------------|--------------|| ./bitbucket-pipelines.yml| Bitbucket|定义Bitbucket的管道规则。|| ./Procfile| Heroku|告诉Heroku这个应用程序接收来自互联网的请求,以及执行它的命令行是什么。|| ./system.properties|Heroku|设置运行此应用程序必须使用的java sdk。|
image: gradle:jdk17 # change the image to suit your application. # The minimum steps required to deploy from Bitbucket to Heroku are: # 1. create a TGZ file with the application source code # 2. send that TGZ to Heroku pipelines: default: - step: name: Create TGZ from source code script: - tar --exclude='.git' -cvzf /tmp/app.tar.gz . - mv /tmp/app.tar.gz . artifacts: - app.tar.gz - step: name: Deploy source code TGZ to heroku deployment: production script: - pipe: atlassian/heroku-deploy:0.1.1 variables: HEROKU_API_KEY: $HEROKU_API_KEY HEROKU_APP_NAME: $HEROKU_APP_NAME ZIP_FILE: app.tar.gz
web: java -jar build/libs/demo-application-0.0.1.jar
这个例子是一个从互联网接收请求的java应用程序。更改是为了适应您的应用程序。
java.runtime.version=17
Java应用程序所需的。更改它以适合您的应用程序。
Heroku在$PORT环境变量中设置了一个随机端口号,它希望您的应用程序将侦听该端口。确保应用程序使用该环境变量设置侦听端口。
$PORT
7条答案
按热度按时间z8dt9xmd1#
无论您将代码托管在何处,部署到Heroku都应该有效,因为Heroku CLI会添加自己的git remote以进行部署。事实上,你甚至可以从Heroku中获取
git pull
,所以从技术上讲,你可以使用Heroku作为私有git仓库(尽管不推荐)。至于使用GitHub客户端连接bitbucket,只需在客户端的设置选项卡中将仓库远程更改为bitbucket提供的URL。twh00eeo2#
只想补充zeiv的回答谁说它应该起作用:我可以证实它是。我们使用bitbucket作为git托管并部署到heroku。你似乎不能做的是将你的bitbucket仓库添加到你的heroku帐户以显示提交历史,这个功能目前似乎仅限于github(heroku的错;- )
ebdffaop3#
Bitbucket现在支持Pipelines,这应该很容易在Heroku上部署。只需遵循此教程:https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html
我的
bitbucket-pipelines.yml
只是将master分支推送到Heroku看起来像这样:ni65a41a4#
和斯特凡一起唱-这很好用。我是这么做的
1.我对WP博客每天重置的方式感到非常沮丧,向任何导航到http://blog.example.com的人提供设置屏幕,因为没有wp-config.php。
1.登录到bitbucket. org。
1.链接了我的Bitbucket和Github账户。
1.从github上分叉了我的“wp-blog”repo,我之前把它链接到了heroku remote上。
1.克隆到这个新分支(“git clone https://myname@bitbucket.org/myname/wp-blog_config.git“)。
1.添加了适当的wp-config.php。
1.在这个新分支中添加了我的heroku remote(“git remote add heroku git@heroku.com:adjective-noun-1234.git”)
1.提交并部署到heroku(“git push heroku master:master”)
mkh04yzy5#
如果你不想一直在命令行工作,并一直推到heroku,担心维护SSH密钥(如果你在不同的盒子上工作,这会很烦人),那么请遵循以下指南,了解如何使用codeship设置持续集成。它是Heroku上的一个免费插件。
http://blog.codeship.io/2014/04/29/continuous-deployment-heroku-bitbucket-nodejs.html
af7jpaap6#
我发现这个Page很有用
安装Heroku Toolbelt
如果您还没有创建新的SSH公钥,请登录到您的Heroku帐户并按照提示创建新的SSH公钥。
创建一个新的Git仓库
在新目录或现有目录中初始化git仓库
部署应用程序
将代码提交到存储库,并使用Git将其部署到Heroku。
现有Git存储库
对于现有的存储库,只需添加heroku远程
guicsvcw7#
您可以将Bitbucket与Heroku集成并自动化部署。
我创建了this project in github来展示将bitbucket存储库部署到Heroku所需的最小设置。
部署方式
1.假设你已经从Bitbucket仓库 checkout 了一个分支,你只需要推送一个更改,这将触发Bitbucket上的管道。
Heroku应用配置
1.创建应用程序
1.创建一个API密钥供Bitbucket调用Heroku的API
1.设置Heroku构建应用程序必须使用的buildpack:
Go to your application root page in Heroku -> Settings -> Buildpacks -> Add Buildpack -> 'buildback_for_your_application'
Bitbucket仓库配置
1.您需要在存储库配置中启用管道执行:
Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Enable Pipelines'
Bitbucket -> Repository root page -> Repository Settings -> Pipeline Settings -> check 'Repository Variables'
,然后设置:文件
在应用程序的根文件夹中设置以下文件
| 文件|使用者|说明|
| --------------|--------------|--------------|
| ./bitbucket-pipelines.yml| Bitbucket|定义Bitbucket的管道规则。|
| ./Procfile| Heroku|告诉Heroku这个应用程序接收来自互联网的请求,以及执行它的命令行是什么。|
| ./system.properties|Heroku|设置运行此应用程序必须使用的java sdk。|
./bitbucket-pipelines.yml示例
./Procfile示例
这个例子是一个从互联网接收请求的java应用程序。更改是为了适应您的应用程序。
./system.properties示例
Java应用程序所需的。更改它以适合您的应用程序。
应用必须监听'$PORT'端口
Heroku在
$PORT
环境变量中设置了一个随机端口号,它希望您的应用程序将侦听该端口。确保应用程序使用该环境变量设置侦听端口。