Bitbucket ダウンロードにビルド アーティファクトをデプロイする

Bitbucket アプリ パスワードと Bitbucket REST API を使用すると、パイプラインによって生成されたアーティファクトを Bitbucket の Downloads エリアにデプロイできます。

Bitbucket Pipelines でデータベースを使用してテストする」も参照してください。

ステップ 1: リポジトリ所有者向けにアプリ パスワードを作成する

Bitbucket にログインし、上部のナビゲーション バーにある [設定] (歯車アイコン ) を選択してから、[設定] ドロップダウン メニューの [Bitbucket 個人設定] > [アクセス管理] の [アプリ パスワード] の順に選択します。

リポジトリへの書き込み権限を持つアプリ パスワードを新しく作成します。生成されたパスワードがポップアップで表示されるのでそれを記録します。パスワードの名前はユーザーの識別用にのみ使われるため、「Pipelines」などの任意のラベルを設定できます。

結果

パイプを認証するためのアプリ パスワードが得られるはずです。

手順 2: 認証トークンを使用して Pipelines 変数を作成する

Bitbucket Downloads にファイルをアップロードするには、以下の変数を設定する必要があります。

パラメーター

BITBUCKET_USERNAME

リポジトリを所有かつアーティファクトをアップロードするユーザーの Bitbucket ユーザー名

BITBUCKET_APP_PASSWORD

Bitbucket が生成したアプリ パスワード

リポジトリの設定で、特定のデプロイメント環境に対してこれらの変数を定義できます。[リポジトリ設定] > パイプライン下の [リポジトリ変数] を選択します。

結果

リポジトリでこれら 2 つの変数が構成され、パイプラインから使用する準備ができました。

ステップ 3a: bitbucket-upload-file パイプを使用したアーティファクトのデプロイ

アーティファクトを Bitbucket Downloads にアップロードするには、bitbucket-upload-file パイプを使用します。必要な作業は、アップロードするファイルをビルドのアウトプットから参照するだけです。 

以下は、Gradle による Android プロジェクトのビルドの簡単な例です。Bitbucket Downloads でデバッグの Android パッケージ (APK) を提供できます。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 image: maven:3.3.3 pipelines: default: - step: script: - pipe: atlassian/bitbucket-upload-file:0.1.2 variables: BITBUCKET_USERNAME: $BITBUCKET_USERNAME BITBUCKET_APP_PASSWORD: $BITBUCKET_APP_PASSWORD FILENAME: "app/build/outputs/apk/debug/application-debug.apk"

結果

このステップによって、bitbucket_pipeline.yml ファイルにパイプ設定が追加されます。ステップが完了すると、アーティファクトはリポジトリの Downloads セクションにアップロードされます。

ステップ 3b: curl および Bitbucket REST API を使用したアーティファクトのデプロイ

変数とアプリ パスワードを設定したら、ビルド スクリプトで curl を使用し、REST API を介して Bitbucket にアーティファクトをデプロイできます。

1 curl -X POST "https://${BITBUCKET_USERNAME}:${BITBUCKET_APP_PASSWORD}@api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"app/build/outputs/apk/debug/application.apk"

以下は、Gradle による Android プロジェクトのビルドの簡単な例です。Bitbucket Downloads でデバッグの Android パッケージ (APK) を提供できます。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 image: maven:3.3.3 pipelines: default: - step: script: - mvn -B clean install - curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"app/build/outputs/apk/debug/application.apk"

結果

このステップによって、bitbucket_pipeline.yml ファイルにパイプ設定が追加されます。ステップが完了すると、アーティファクトはリポジトリの Downloads セクションにアップロードされます。

オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。

その他のヘルプ