Heroku にデプロイする
Bitbucket Pipelines から Heroku にアプリケーションをデプロイします。
Pipelines とパイプを使用した Heroku へのデプロイをハンズオンで確認したい場合、このリポジトリで完全なエンドツーエンドのサンプルを利用できます。
ステップ 1: Heroku の API トークンとアプリ名を環境変数として追加する
Heroku リポジトリ用に、設定で 2 つの変数を定義します。
名前 | 値 |
---|---|
HEROKU_API_KEY | Heroku から生成された API トークン。マスクおよび暗号化されるよう、保護された変数を使用します。 |
HEROKU_APP_NAME | Heroku のアプリ名 |
これらの変数は、デプロイメント環境、リポジトリ、またはワークスペース レベルで定義できます。以下の例は、リポジトリ変数を示しています。
ステップ 2: フル クローンを実行するように Pipelines を設定する
Heroku デプロイメントでは、フル Git クローンが必要です。既定では、ビルド時間の短縮のため、Pipelines によって depth 50 でリポジトリがクローンされます。bitbucket-pipelines.yml ファイルで、Pipelines でフル Git クローンを実行するように設定できます。
ステップ 3: パイプを使用して Heroku にデプロイする
Heroku deploy パイプを使用して Heroku にアプリケーションをデプロイします。パイプ リポジトリで、より多くの使用例、使用可能な変数、およびサポート情報を確認できます。
以下は、アプリケーションを Heroku にデプロイする単純な bitbucket-pipelines.yml 構成です。また、この例では、アプリケーションのビルドとデプロイでの個別のステップの使用や、Bitbucket Deployments を使用した別の環境へのデプロイなど、いくつかのベスト プラクティスのインサイトを提供します。
# This is a sample build configuration for Python.
# Check our guides at https://confluence.atlassian.com/x/x4UWN 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: python:3.7.2
pipelines:
default:
- step:
name: Test
script:
- cd sample-python-app
- pip install -r requirements.txt
- ./manage.py test
- step:
name: Build
script:
- cd sample-python-app
- git archive --format=tar.gz master -o sample-app.tar.gz
artifacts:
- sample-python-app/sample-app.tar.gz
- step:
name: Deploy to production
deployment: production
caches:
- pip
script:
- pipe: atlassian/heroku-deploy:0.1.1
variables:
HEROKU_API_KEY: $HEROKU_API_KEY
HEROKU_APP_NAME: $HEROKU_APP_NAME
ZIP_FILE: sample-python-app/sample-app.tar.gz
オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルを確認できます。