アーティファクトをステップで使用する

はじめに

アーティファクトは、ステップによって作成されるファイルです。パイプライン設定で定義したら、以降のステップで共有したり、エクスポートしてステップの完了後にアーティファクトを保持したりすることができます。たとえば、ビルド ステップで生成された JAR ファイルまたはレポートを、後のデプロイメント ステップで使用できます。ステップで生成されたアーティファクトをダウンロードしたり、外部ストレージにアップロードすることもできます。

次の点に留意する必要があります。

  • ステップの最後の BITBUCKET_CLONE_DIR にあるファイルをアーティファクトとして構成できます。BITBUCKET_CLONE_DIR は、リポジトリが最初にクローンされるディレクトリです。

  • glob パターンを使用してアーティファクトを定義できます。* で開始される glob パターンは、引用句で囲む必要があります。注: これらは glob パターンのため、パス セグメント "." および “..” は使用できません。ビルド ディレクトリに相対的なパスを使用します。

  • アーティファクトのパスは、BITBUCKET_CLONE_DIR の相対パスになります。

  • ステップ中に作成されたアーティファクトは、以降のすべてのステップで使用できます。

  • アーティファクトは生成から 14 日後に削除されます。

  • デフォルトでは、使用可能なすべてのアーティファクトがステップの開始時にダウンロードされます。ステップによってアーティファクトをダウンロードするかどうかを制御するには、ダウンロード フラグを指定します。

アーティファクトの使用

以降の bitbucket-pipelines.yml ファイルの例は、アーティファクトをステップ間で共有するための構成方法を示します。

  • "Build and test" スクリプトが完了すると、dist フォルダとレポート フォルダの txt ファイル (両方とも BITBUCKET_CLONE_DIR にあります)、は同じパスでアーティファクトとして保持されます。

  • "Integration test" と "Deploy to beanstalk" は、最初のステップで作成された distreports のファイルにアクセスできます。

  • 「Integration test」による dist または reports へのすべての変更は、「Integration test」でアーティファクトとして指定されていないため、後のステップでは利用できません。変更を保持したい場合、このステップでそれらもアーティファクトとして定義する必要があります。

  • アーティファクトはダウンロードされないため、「成功メッセージを表示」中は利用できません。このステップでは、アーティファクト success.txt が生成されて、後の手順でダウンロードできるようになります。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 pipelines: default: - step: name: Build and test image: node:10.15.0 caches: - node script: - npm install - npm test - npm run build artifacts: # defining the artifacts to be passed to each future step. - dist/** - reports/*.txt   - step: name: Integration test image: node:10.15.0 caches: - node services: - postgres script: # using one of the artifacts from the previous step - cat reports/tests.txt  - npm run integration-test - step: name: Deploy to beanstalk image: python:3.5.1 script: - python deploy-to-beanstalk.py - step: name: Display success message artifacts: download: false # do not download artifacts in this step paths: # defining artifacts to be passed to each future step - success.txt script: - echo "Deployment successful!" > success.txt definitions: services: postgres: image: postgres:9.6.4

手動ステップ

手動ステップでは自動ステップと同様、過去のあらゆるステップで作成されたビルド アーティファクトが作業ディレクトリにコピーされます。

アーティファクトのダウンロードと有効期限

ステップで生成されたアーティファクトをダウンロードできます。

  1. パイプラインの結果ビューの [アーティファクト] タブを選択します。

  2. ダウンロード アイコンをクリックします。

アーティファクトは、アーティファクトを生成したステップの完了後 14 日間保持されます。この期間が過ぎるとアーティファクトは期限切れとなり、パイプラインでは以降のあらゆる手動ステップを実行できなくなります。

アーティファクトを 14 日間以上保持したい場合や、1 GB 以上のアーティファクトを保持したい場合、Amazon S3 や、JFrog Artifactory などのホスト型のアーティファクト リポジトリなどの、独自のストレージ ソリューションを使用することをおすすめします。アーティファクトのビルドの保持期間の制限は、コストを管理できる範囲に抑えることで、Pipelines でのビルド アーティファクトの保管および転送料金を発生させないために行っています。

詳細については、次の情報をご参照ください。

最終更新日 2021年03月12日)
次でキャッシュ 9:00 PM on Oct 21, 2021 |

その他のヘルプ