Bitbucket Pipelines で前は通ったビルドが、今は落ちる
bitbucket-pipelines.yml は同じで、見える変更も無いのに、前は通ったステップが落ちます。Atlassian の記事(Bitbucket Pipelines builds were successful earlier, but started failing recently)は、変わりうるものを挙げています:自分のコード、ビルドイメージ(同じタグで新しいイメージが出た)、ワークスペース・リポジトリ・デプロイメントの変数、外の依存パッケージやその障害、Bitbucket の障害、Pipelines の基盤、セルフホストのランナーのホスト。
1. 自分のコードか、それ以外か
最後に通ったコミットを、もう一度ビルドします。それも今は落ちるなら、変わったのは自分のコードではありません。Atlassian は、落ちるビルドを Pipelines の外で動かすことも勧めています:Atlassian のマシンか Linux の Docker のランナーのステップなら同じ Docker イメージの中で(Troubleshoot failed pipelines locally with Docker)、Linux のシェル・macOS・Windows のランナーならホストの上でそのまま。そこでも落ちるなら、原因は Pipelines の基盤や設定ではない、と Atlassian は書いています。そこでは通り Pipelines でだけ落ちるなら、手元のビルドのログを添えてサポートに問い合わせるよう書いています。
2. イメージを比べる
Atlassian のマシンか Linux の Docker のランナーのステップなら、通った実行と落ちた実行の両方で、ステップのログの最初の節 Build setup を開きます。使ったイメージがダイジェスト付きで出ています。例:Images used: build : docker.io/atlassian/defaultimage@sha256:689e…(Atlassian の Build setup が遅いときの記事から)。node:22 のようなタグや、image を書かないとき(そのときは atlassian/default-image:latest)は、明日には新しいイメージを指しているかもしれません。ダイジェストが違えば、通った実行のものに固定します(Atlassian の Use Docker images as build environments):
image: name: node@sha256:<digest>
新しいイメージへは、試せるときに自分で移します。サービスのあるステップは、そのイメージも Build setup に並びます。
3. ステップが入れるパッケージを固定する
ステップの中で apt・yum・apk で入れるパッケージは、先週より新しい版かもしれません。Atlassian の記事は、版を固定するよう書いています。プロジェクトが固定していない依存も同じで、ロックファイルをコミットし、そこから入れます。
4. 変数
ワークスペース・リポジトリ・デプロイメントの変数が、変えられたか消されたかもしれません。ワークスペースの変数はワークスペースの全部のリポジトリに効くので、そこを変えると、誰も触っていないリポジトリのビルドが落ちることがあります。
5. 障害と基盤の変更
- Bitbucket:bitbucket.status.atlassian.com。障害が解決してから、もう一度ビルドします。
- ステップが取ってくる先:Docker Hub・npm・Python・Maven・GitHub・AWS(Atlassian の記事の一覧)。
- Pipelines そのもの:Atlassian は変更を Infrastructure changes in Bitbucket Pipelines に並べています。見たときの最新:2026年6月30日から、一部のビルド環境でカーネルを 6.1.79 から 6.18.35 へ。
- セルフホストのランナー:更新やディスクの満杯など、ホストで変わったもの(「No space left on device」)。
IntelliJ IDEA から
Pipeline Inbox for Bitbucket Pipelines は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud の全部のリポジトリのパイプラインを、状態と一緒に IDE のツールウィンドウに並べるので、最後に通った実行と最初に落ちた実行が分かります。ステップのログは Build setup も含めて IDE で開き、Images used で検索できます。Pro なら、通った実行で Run again を押すと、そのコミットをもう一度ビルドします。1. の手順を IDE から出ずにできます。一覧・ステップ・ログは無料。実行・やり直し・停止は Pro(月 US$1.50・30日の無料試用つき)。
Atlassian・Bitbucket・Bitbucket Pipelines は Atlassian の商標、Docker は Docker, Inc. の商標、npm は npm, Inc. の商標、Python は Python Software Foundation の商標、Maven は Apache Software Foundation の商標、GitHub は GitHub, Inc. の商標、AWS は Amazon.com, Inc. またはその関連会社の商標、Windows は Microsoft グループの商標、macOS は Apple Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページはそのいずれとも提携しておらず、承認も受けていません。
ほかに:「command not found」 · 次のステップにアーティファクトが無い · 「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」 · サブモジュールを取ってこない · 「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