Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
パイプラインの結果ビューからアーティファクトを直接ダウンロードできます。アーティファクトに 14 日以上アクセスする必要がある場合、アーティファクトをサードパーティのストレージに送信し、Bitbucket ビルド ステータス API を使用してコミット ビューでリンクを作成することができます。
ビルド ステータス API 経由で公開およびリンクしたアーティファクトへのリンクは、Bitbucket のコミットに表示されます。
リポジトリの所有者かつファイルをアップロードするユーザーとして Bitbucket にログインし、[Personal settings] > [アプリ パスワード] に移動します。
リポジトリへの書き込み権限を持つアプリ パスワードを新しく作成します。生成されたパスワードがポップアップで表示されるのでそれを記録します。パスワードの名前はユーザーの識別用にのみ使われるため、「Pipelines」などの任意の名前を設定できます。
次のステップでは 2 つの値を使用します。
パラメーター | 値 |
---|---|
<username> | リポジトリを所有かつアーティファクトをアップロードするユーザーの Bitbucket ユーザー名 |
<password> | Bitbucket が生成したアプリ パスワード |
Pipelines 設定で新しくセキュアな変数を定義します。
パラメーター名: BB_AUTH_STRING
パラメーターの値: <username>:<password> (ステップ 1 の値を使用)
この変数は、リポジトリまたはアカウント レベルで定義できます。
AWS や S3 に馴染みが薄い場合、弊社が提供している S3 連携の例の手順を利用することで、S3 バケットを作成し、Bitbucket Pipelines 内の関連する認証用変数を構成できます。
1
python s3_upload.py <bucket-id> <artifact-file> <artifact-key>
既存の AWS ツールを使用してアーティファクトを適切なロケーションにアップロードすることもできます。
変数とアプリ パスワードを設定し、アーティファクトを S3 に公開したら、ビルド スクリプトで curl を使用して、ビルド ステータス REST API 経由でアーティファクトの S3 URL を Bitbucket のコミットにリンクできます。
1
2
3
export S3_URL="https://${S3_BUCKET}.s3.amazonaws.com/${S3_KEY_PREFIX}_${BITBUCKET_COMMIT}"
export BUILD_STATUS="{\"key\": \"doc\", \"state\": \"SUCCESSFUL\", \"name\": \"Documentation\", \"url\": \"${S3_URL}\"}"
curl -H "Content-Type: application/json" -X POST --user "${BB_AUTH_STRING}" -d "${BUILD_STATUS}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/commit/${BITBUCKET_COMMIT}/statuses/build"
Python のサンプル プロジェクトのすべての構成要素を含む例について、以降に示します。この例のパラメーターは自身のリポジトリに合わせて調整する必要があります。また、必要なすべての変数 (AWS 認証トークンを含む) を定義済みである必要があります。
bitbucket-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
image: python:3.5.1
pipelines:
branches:
main:
- step:
script:
- pip install boto3==1.3.0 # required for s3_upload.py
- python run_tests.py
- python s3_upload.py "${S3_BUCKET}" documentation.html "${S3_KEY_PREFIX}_${BITBUCKET_COMMIT}" # upload docs to S3
- export S3_URL="https://${S3_BUCKET}.s3.amazonaws.com/"${S3_KEY_PREFIX}_${BITBUCKET_COMMIT}"
- export BUILD_STATUS="{\"key\":\"doc\", \"state\":\"SUCCESSFUL\", \"name\":\"Documentation\", \"url\":\"${S3_URL}\"}"
- curl -H "Content-Type:application/json" -X POST --user "${BB_AUTH_STRING}" -d "${BUILD_STATUS}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/commit/${BITBUCKET_COMMIT}/statuses/build"
オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。
この内容はお役に立ちましたか?