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

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

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

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

リポジトリの所有者として Bitbucket にログインし、[Bitbucket 設定] > [アプリ パスワード] に移動します。

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

結果

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

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

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

パラメーター

BITBUCKET_USERNAMEリポジトリを所有かつアーティファクトをアップロードするユーザーの Bitbucket ユーザー名
BITBUCKET_APP_PASSWORDBitbucket が生成したアプリ パスワード

これらの変数は、リポジトリ設定、またはリポジトリを所有するアカウントの設定で、特定の環境変数に対して定義できます。

以下の例は、リポジトリを個人が所有している場合の個人アカウントでの変数の設定を示します (リポジトリをチームが所有している場合、変数を Pipelines で参照できるようにするには、変数をチーム設定で構成する必要があります)。

結果

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

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

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

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

bitbucket-pipelines.yml
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 にアーティファクトをデプロイできます。

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
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 ファイルをチェックすることができます。

最終更新日: 2019 年 12 月 3 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.