LoginSignup
0
0

More than 5 years have passed since last update.

BitbucketのPIPELINEを使ってHerokuにも同時pushする方法(最新版?)

Posted at

BitbucketのPIPELINEを使ってHerokuにもpushしようと思ったら、
躓いたのでメモまとめ。

まず、公式のページを確認してみると、
「ステップ1:Heroku APIトークンとアプリ名を環境変数として追加する」らしいが、
PIPELINESの箇所に「Environment variables」がないんだもの。。
https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

場所は変わっていないけど、
名前が変わって「Deployments」という箇所がそれらしい。

なので、ここにAPIトークンとアプリ名を登録します。
Deploymentsには「Test・Staging・Puroduction」があるので適宜選択します。
今回はTestに入れました。

// Bitbucket > 設定 > PIPELINES > Deployments

Name: HEROKU_API_KEY
Value: APIトークン

Name: HEROKU_APP_NAME
Value: アプリ名

トークンとアプリ名の確認方法

// HEROKU_API_KEY
$ heroku auth:token

// HEROKU_APP_NAME 一覧が出てくるので登録したいアプリ名を確認
$ heroku apps

このままページ下部にある「Edit YAML configuration」で設定の編集をします。
参考と、オンラインバリデーターが用意されているので、
こちらを使います。

bitbucket-pipelines.yml
https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

Validator for bitbucket-pipelines.yml
https://bitbucket-pipelines.prod.public.atl-paas.net/validator

// Bibucketを参考に、こんな感じにしました。
clone:
  depth: full
pipelines:
  default:
    - step:
        deployment: test
        script:
          - git push https://heroku:APIトークン@git.heroku.com/アプリ名.git HEAD

出来上がったbitbucket-pipelines.ymlをherokuにpush。
これで、次回からBitbucketにpushするだけでherokuにもpushされる仕組みです。
やったー!

Bitbucketにpushした後、
PipelinesのページでStatusが確認できます。

ただ、heroku loginを忘れてpushしてしまった時や、
何かの拍子でAPIトークンが変更されてしまうようで、、、
その度にBitbucketに登録し直しになってしまいました。。
なんか、2回pushした方が早い気がする。。

どなたか解決方法を知っている方がいらっしゃれば、ご教授お願い致します。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0