Lesstep
Bitbucket Cloud・Pipelines・2026年10月30日に確認

Bitbucket Pipelines で次のステップにアーティファクトが無い

あるステップがファイルを作って artifacts に並べたのに、次のステップが tar: can't open 'dist/package-4.tar.gz': No such file or directory のような行で失敗します(コミュニティの質問から)。Bitbucket は、ステップの最後のコマンドの後でそのアーティファクトをアップロードし、後のステップのコマンドの前に戻します。まずログで両方の端を見て、それから Atlassian が挙げる原因をたどります(Bitbucket Pipeline issues due to Artifacts related issues と Pipeline artifacts)。

受け渡しの両方の端を見る

原因

  1. パターンが探す場所にファイルが無い。コマンドかプロジェクトの設定が、別のフォルダに書いたか、書いていません。上の質問では、if の中に残っていた exit 0 が、ファイルを書く前にステップを成功で終わらせていました。
  2. パスがクローンのフォルダの外。アーティファクトのパスは $BITBUCKET_CLONE_DIR からの相対です:dist/** は使えますが、/tmp/** は使えません。ファイルはクローンのフォルダの中に書きます。. や .. の付いたパスは使えず、* で始まるパターンは YAML で引用符が要ります。
  3. 2つのステップが同じ並列の組にある。並列のステップのアーティファクトは、同じ組のほかのステップには届かず、その後のステップにだけ届きます。上の tar の質問の原因はこれでした:デプロイのステップが、ビルドと同じ parallel の中にありました。
  4. 次のステップがダウンロードしない。download: false は全部のアーティファクトを飛ばします。download: の一覧は、並べた名前のアーティファクトだけを取ります。type: scoped のアーティファクトは、ほかのステップには決してダウンロードされません(ログ・レポート・スクリーンショット向け)。
  5. 圧縮して 1 GB を超えた。そのステップの Build teardown に、アップロードしないという知らせが出て、ビルドはそのまま次のステップへ進みます。代わりにビルドを失敗にしてほしいという要望 BCLOUD-17145 は「Gathering Interest」のままです。フォルダを複数のアーティファクトに分けるか、ファイルを小さくします。
  6. 期限が切れた。アーティファクトは、作ったステップから14日間残ります。その後に手動のデプロイのステップを始めることはできません:Deploy のボタンが灰色になり「Artifacts have expired」と出ます。そのステップに download: false があっても同じです(BCLOUD-22653・未解決)。回避策は、パイプライン全体をもう一度動かすことです。
- step:
    name: Build
    script:
      - npm run build
      - ls -lR dist
    artifacts:
      - dist/**
- step:
    name: Deploy
    script:
      - ./deploy.sh

アーティファクトのスクリプトで「Permission denied」

ダウンロードしたアーティファクトの権限は 644(-rw-r--r--)になるので、アーティファクトで届いたスクリプトは、実行できるように戻すまで動きません(Pipeline artifacts のページ):

script:
  - chmod +x deploy.sh
  - ./deploy.sh

失敗したステップのアーティファクト

既定では、ステップは成功したときだけアーティファクトをアップロードします。失敗の後にほしい試験のレポートやスクリーンショットは、名前の付いた書き方で capture-on: failed か capture-on: always にします:

artifacts:
  - name: Screenshots
    type: scoped
    paths:
      - screenshots/**
    capture-on: failed

IntelliJ IDEA で失敗したコマンドを見る

Pipeline Inbox for Bitbucket Pipelines は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud の全部のリポジトリのパイプラインを、ステップと一緒に IDE のツールウィンドウに並べます。失敗したパイプラインでは、ステップが失敗したコマンドとその最後の行を見せるので、No such file or directory の行がログを開かずに見えます。ステップのログは IDE で開いて検索できるので、Build teardown と Build setup のアーティファクトの行もそこで探せます。アーティファクトの期限が切れたときの回避策は、パイプライン全体をもう一度動かすことです。Pro なら Run again で、同じコミットを IDE からもう一度ビルドできます。一覧・ステップ・ログは無料。実行・やり直し・停止は Pro(月 US$1.50・30日の無料試用つき)。

JetBrains Marketplace で入れる

Atlassian・Bitbucket・Bitbucket Pipelines は Atlassian の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページはそのいずれとも提携しておらず、承認も受けていません。

ほかに:キャッシュが効かない · 「Step exceeded processing limits」 · 「Exceeded build time limit of 120 minutes」 · 「No space left on device」 · 「No online runner available」 · 「We couldn't clone the repository」 · サブモジュールを取ってこない · 「command not found」 · 「unexpected system error」 · push したのに Pipelines が動かない · 「Container 'Build' exceeded memory limit.」 · 「Container 'docker' exceeded memory limit.」 · 前は通ったビルドが今は落ちる · Build setup に時間がかかる · ビルド時間を使い切った · 「Permission denied to update branch」 · 「You have reached your pull rate limit」(Docker Hub) · 「There is an error in your bitbucket-pipelines.yml」 · 「This pipeline was paused」(デプロイ) · IntelliJ IDEA の Bitbucket Pipelines 用プラグインの比較 · English