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

Bitbucket Pipelines の「No space left on device」

ステップのコマンドが tar: …: Cannot write: No space left on device のような行で止まり、ステップが失敗します。コマンドを動かしたマシンのディスクが一杯です。最初に見るのは、それがどのマシンだったかです:セルフホストのランナーのホスト、Atlassian のビルドのマシン、パイプがログインした別のサーバー。

消す前に測る

失敗するコマンドの直前にこの行を入れ、パイプラインをもう一度動かします。df -h はつながっているディスクごとの埋まり具合を、du は取ってきた中身の大きさを出します:

script:
  - df -h
  - du -sh "$BITBUCKET_CLONE_DIR"
  - ./build.sh

セルフホストのランナーでは

ランナーは、ステップに要るものをホストの作業フォルダに取ってきます:リポジトリの中身と、そのステップのアーティファクトとキャッシュ。そこでホストの空きが尽きると、ステップは no space left on device で失敗し、Pipelines のログにもランナーの runner.log にも出ます(Atlassian の記事 Self-hosted runner failing with error "no space left on device")。作業フォルダは既定で、Linux の Docker のランナーなら /tmp、Linux のシェル・macOS・Windows のランナーなら、ランナーを展開したフォルダの中の temp です。

Linux か macOS のホストなら、df -h /tmp(またはランナーのフォルダ)で残りが分かります。そのうえで、要らない大きなファイルを消す、別のディスクへ移す、ディスクを大きくする、または大きいディスクの上にランナーの作業フォルダを移します:

docker run … \
  -v /data/runner:/data/runner \
  -e WORKING_DIRECTORY=/data/runner …

Docker のランナーがどのフォルダを使っているか分からなければ、同じ記事の手順で、docker container ls でそのコンテナを見つけ、docker inspect -f '{{ .Mounts }}' <コンテナの ID> で載せているフォルダを、コンテナの中の env で WORKING_DIRECTORY を読みます。

Atlassian のマシンでは

Atlassian の Limitations of Bitbucket Pipelines は、ビルドの分数・Git LFS の容量・パイプラインあたりのステップの数を挙げていますが、今はビルドのディスクの大きさを書いていません。前の版は 5 GB と書いていて、ディスクを設定できるようにという開いたままの要望 BCLOUD-15343 がそれを引いています。小さくできるもの:

パイプがコマンドを動かしたとき

atlassian/ssh-run のようなパイプは、コマンドを SSH で別のサーバーの上で動かし、そのサーバーのエラーがステップのログに出ます。コミュニティの質問では、ssh-run の中でこのメッセージで失敗した tar は、リモートのサーバーの空き不足で、そこを空けて直りました。Atlassian の担当者は、パイプの新しい版も勧めています。

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

Pipeline Inbox for Bitbucket Pipelines は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud の全部のリポジトリのパイプラインを IDE のツールウィンドウに並べ、失敗したパイプラインでは、ステップが失敗したコマンドとその最後の数行を見せます。No space left on device の行と、それに当たったコマンドが、ログを開かずに見えます。ランナーの空きを作っただけなら、push する新しいコミットがありません。Pro なら Run again で、同じコミットを IDE からもう一度ビルドできます。一覧・ステップ・ログは無料。実行・やり直し・停止は Pro(月 US$1.50・30日の無料試用つき)。

JetBrains Marketplace で入れる

Atlassian・Bitbucket・Bitbucket Pipelines は Atlassian の商標、Git は Software Freedom Conservancy の商標、Docker は Docker, Inc. の商標、Windows は Microsoft グループの商標、macOS は Apple Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページはそのいずれとも提携しておらず、承認も受けていません。

ほかに:「No online runner available」 · 「We couldn't clone the repository」 · サブモジュールを取ってこない · 「command not found」 · 「unexpected system error」 · キャッシュが効かない · push したのに Pipelines が動かない · 「Exceeded build time limit of 120 minutes」 · 「Container 'Build' exceeded memory limit.」 · 「Container 'docker' exceeded memory limit.」 · 「Step exceeded processing limits」 · 次のステップにアーティファクトが無い · 前は通ったビルドが今は落ちる · 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