Bitbucket Deployments のセットアップ
デプロイメント ダッシュボードを使用して、すべてのデプロイ環境の情報をひと目で確認できます。また、権限を持つデプロイ変数を使用して、特定のブランチやユーザーでのみデプロイを行えるようにできます。
まず、Bitbucket 設定で環境が定義されます。
以下を設定することができます。
- 名前
- 環境のタイプ
- ダッシュボードでの表示順
- その環境に固有の任意の変数
- Premium プランの場合は、それぞれにデプロイするユーザー
次に、bitbucket-pipelines.yml
ファイルでそれらを参照して、デプロイメント ダッシュボードに表示します。
このガイドではデプロイ環境の一般的なセットアップについて説明していますが、アトラシアンのデプロイメント ガイドでプラットフォーム固有のガイダンスを確認することもできます。
ステップ 1: 環境を定義する
まずに、環境の詳細情報が追加されます。
パイプラインを有効にすると、"Test" と呼ばれるテスト環境、"Staging" と呼ばれるステージング環境、および "Production" と呼ばれる本番環境の 3 つの基本的な環境が既定で作成されます。
環境のタイプは一般に、環境を論理的に並べるために使用されます。そのため、使用する機能と一致していない場合も問題ありません。
- Go into your repository settings ( )
- Pipelines セクションで、[デプロイメント] を選択します。
- 任意の環境をクリックして次の操作を行います。
- 名前を変更
環境に固有のデプロイメント変数を設定
デプロイメント変数はチーム変数とリポジトリ変数の両方を上書きします。また、同じ名前の変数を各デプロイメント環境に対して別の値で設定できます。たとえば、各環境に別の
$DEPLOYMENT_SECRET_KEY
を設定できます。そのあとに環境の制限も行い、管理者のみが秘密鍵を使用するようにできます。- デプロイ機能を管理者、または特定のブランチに制限できます。
環境を追加したい場合、もっとも適切な環境タイプ (Test、Staging、または Production) を決定し、そのセクションで [環境を追加] をクリックします。
また、環境の左側の端をクリックしてドラッグすることで、タイプ内で環境を移動させることもできます。
ステップ 2: デプロイメント手順を構成する
deployment
キーワードに環境名を続けたテキストを、bitbucket-pipeline.yml
ファイルの関連ステップに追加します。
例:
- step:
name: Deploy to production
deployment: production-east
script:
- python deployscript.py prod
このステップがデプロイメント ダッシュボードで表示されるようになりました。
アトラシアンでは test
、staging,
および production
タイプの環境へのデプロイをサポートしており、これはこの順序で各パイプラインに記載されている必要があります。たとえば、2 つのテスト環境と 2 つの本番環境がある場合、任意のテスト環境にデプロイするステップは、本番環境タイプの環境にデプロイするステップの前に来る必要があります。
bitbucket-pipeline.yml
ファイルの更新をコミットし、デプロイメント パイプラインを実行します。
image: node:10.15.0
pipelines:
default:
- step:
name: Build and push to S3
script:
- apt-get update
- apt-get install -y python-dev
- curl -O https://bootstrap.pypa.io/get-pip.py
- python get-pip.py
- pip install awscli
- aws deploy push --application-name $APPLICATION_NAME --s3-location s3://$S3_BUCKET/test_app_$BITBUCKET_BUILD_NUMBER --ignore-hidden-files
- step:
name: Deploy to test
image: aneitayang/aws-cli:1.0
deployment: testbed
script:
- python deploy.py test
- step:
name: Deploy to staging
image: aneitayang/aws-cli:1.0
deployment: staging1
trigger: manual
script:
- python deploy.py staging
- step:
name: Deploy to production
image: aneitayang/aws-cli:1.0
deployment: production-east
trigger: manual
script:
- python deploy.py prod
ステップ 3: デプロイメントを追跡する
デプロイメント ステップが実行されたら、[Deployments] ダッシュボードでデプロイメントを追跡できます。