概要
BitBucket
https://bitbucket.org/
無料かつ無制限のプライベートリポジトリ
Heroku
https://jp.heroku.com/
Heroku はアプリの構築、提供、監視、スケールに役立つクラウドプラットフォーム
どちらも便利でよく使います!
そして僕はこう考えるわけです。
「BitBucketにPushしたらそのままHerokuに反映されないかなぁ・・・」
いちいちHerokuにデプロイしてー、BitBucketにPushしてー、だと二重管理にもなりますし
なによりもめんどくさい!
こんな方に読んでほしい
- WebアプリやWebサイトの開発をしている方
- BitBucketのリポジトリを持っている方
- Herokuのアカウントを持っている方
- デプロイ時にめんどくさいのをどうにかしたい方
参考
下記の記事を参考にさせて頂きました!
BitBucketのPipelineの設定方法が若干変わっているようなので、補足になればと思います!
https://qiita.com/ucc_black/items/01a36ad015be4dc7a864
手順
HerokuのAPI KEYを作成
Heroku CLIでAPI KEYつくってね~と書いてあります。
https://devcenter.heroku.com/articles/authentication
https://help.heroku.com/PBGP6IDE/how-should-i-generate-an-api-key-that-allows-me-to-use-the-heroku-platform-api
BitBucketでのPipeline設定
Pipelineを有効化
Pipelineを作成したいリポジトリに入って、設定 > PIPELINE > Settings > 「Enable Pipelines」にチェック
という流れですが、ぼくは最初、 設定 > PIPELINE が表示されなくて困りました。
下図のようにサイドメニューの「PIPELINE」を一度押して中に入ったら 設定 > PIPELINE > Settings > 「Enable Pipelines」
が現れたような気がします。
もし同様の状況になった場合はお試しあれ!
リポジトリ変数の設定
設定 > Pipelines > Repository variables に HEROKU_API_KEY
と、HEROKU_APP_NAME
をリポジトリ変数として
登録します。
HEROKU_API_KEY
には上で取ってきたAPI KEYを入力します。
bitbucket-pipelines.ymlの作成
# This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:latest
pipelines:
default:
- step:
# set HEROKU_API_KEY and HEROKU_APP_NAME environment variables
# set clone `depth: full' as described here: https://confluence.atlassian.com/x/Y9-5Mw
name: Deploy to Heroku
deployment: test # set to test, staging or production
# trigger: manual # uncomment to have a manual step
script:
- git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD
bitbucket-pipelines.ymlをBitBucketのリポジトリにPush
最後に
意外と簡単な手順ですが、大きく手間を減らせました!!!